web-dev-qa-db-ja.com

Rubyの「geminstall--bindir〜 / path / to / folder」と「--user-install」の効果的な違い

現時点ではRubyを学びたいとは思っていませんが、それぞれのパスがgem install --bindir ~/path/にある限り、gem install --user-install$PATHの違いを知りたいだけです。

3
jsejcksn

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

-​-bindirは、binary directoryを指します。多くのRuby GEMSインストールRubyコアライブラリ関数の一部としてのスクリプトファイルbutまた、インストールプロセスの一部として「バイナリ」をインストールします。つまり、Rubyプログラマーの場合は、Ruby GEMをインストールすることをお勧めします。独自のカスタムコード内でコアコードへの使用可能な参照を持つことができますが、同等のタスクまたは「ヘルパー」タスクを実行するバイナリファイルがそれらのRuby GEMライブラリファイルと一緒にインストールされます。ファイルシステムから管理の観点から、一部のユーザーは、デフォルトのRuby GEMsディレクトリではなく、別のディレクトリにこれらのバイナリファイルをインストールしたい場合があります。

--user-install

したがって、-​-bindirはRuby GEMに関連付けられたバイナリファイルがインストールされる場所を制御するオプションですが、-​-user-installは場所の手動オーバーライドです。 )allRuby GEMファイルがインストールされます;バイナリ、ライブラリ、その他のもの。-​-user-installを使用すると、Ruby GEMを~/.gemディレクトリにインストールします。これはもちろんユーザーのホームディレクトリにあります。-​-user-installオプションがない場合、Ruby GEMファイルは、デフォルトのGEM_HOMEパスがある場所にインストールされます。

デフォルトのファイルパスを--user-installで変更しても、操作に悪影響はありません。 Ruby GEMはホームディレクトリにある~/.gemディレクトリにインストールされるだけで、Rubyもそこでチェックすることを知っています。更新のための独自のデフォルトパスとして。

4
JakeGould