現時点ではRubyを学びたいとは思っていませんが、それぞれのパスがgem install --bindir ~/path/
にある限り、gem install --user-install
と$PATH
の違いを知りたいだけです。
Ruby GEMコマンドリファレンスはこちら を見てください:
-n, --bindir DIR - Directory where binary files are located
--[no-]user-install - Install in user’s home directory instead of GEM_HOME.
効果的かつ運用上、Rubyを使用するエンドユーザーは、ファイルパスが$PATH
にある場合、実際には違いに気付かないでしょう。しかし、各コマンドは明らかにRuby GEMインストールの異なるファイルシステムの側面を扱います。
--bindir
は、bin
ary dir
ectoryを指します。多くのRuby GEMSインストールRubyコアライブラリ関数の一部としてのスクリプトファイルbutまた、インストールプロセスの一部として「バイナリ」をインストールします。つまり、Rubyプログラマーの場合は、Ruby GEMをインストールすることをお勧めします。独自のカスタムコード内でコアコードへの使用可能な参照を持つことができますが、同等のタスクまたは「ヘルパー」タスクを実行するバイナリファイルがそれらのRuby GEMライブラリファイルと一緒にインストールされます。ファイルシステムから管理の観点から、一部のユーザーは、デフォルトのRuby GEMsディレクトリではなく、別のディレクトリにこれらのバイナリファイルをインストールしたい場合があります。
したがって、--bindir
はRuby GEMに関連付けられたバイナリファイルがインストールされる場所を制御するオプションですが、--user-install
は場所の手動オーバーライドです。 )allRuby GEMファイルがインストールされます;バイナリ、ライブラリ、その他のもの。--user-install
を使用すると、Ruby GEMを~/.gem
ディレクトリにインストールします。これはもちろんユーザーのホームディレクトリにあります。--user-install
オプションがない場合、Ruby GEMファイルは、デフォルトのGEM_HOME
パスがある場所にインストールされます。
デフォルトのファイルパスを--user-install
で変更しても、操作に悪影響はありません。 Ruby GEMはホームディレクトリにある~/.gem
ディレクトリにインストールされるだけで、Rubyもそこでチェックすることを知っています。更新のための独自のデフォルトパスとして。