もう一度尋ねる前に、「 Rubygems、Bundler、およびRVMの関係 」を読みます。
さて、このような多くの質問がありますが、答えた人はRubygems、RVMおよびBundlerで動作すると言い、それぞれが単独でどのように動作するかを説明していません。
Gemをインストールするとき、3つが単独でどのように機能するかと本当に混乱しています。あなたがどのように働いているのか教えてはいけません。
私の混乱はこれらの質問に分解できます。 gemがインストールされる場所:
ウェブ上のリソースまたは詳細な回答のいずれかを使用して、このことを理解してください。
echo $GEM_HOME
を実行します。echo $GEM_HOME
を実行すると、RVMインストールへのパスが表示されます。$GEM_HOME
にインストールされるか、実行時にパスを指定するとbundle install
がそのパスにインストールされます。 Bundlerを介してgemがどこにあるかを調べるには、bundle show gemname
を使用して完全なパスを取得できます。使用する gem env
各コンテキストのgemパスをリストします。
RVMなしgem env
は、システムgemライブラリパスを報告します。
RVMを使用gem env
は、RVM管理のgemライブラリパスを報告します。
Bundlerは、アプリケーションの依存関係を管理し、環境内のgemライブラリにインストールします。 RVM + Bundlerを使用している場合、gemはRVM管理のgemディレクトリにインストールされます。 RVMなしで使用している場合、Bundlerはシステムのgemディレクトリにgemをインストールします。
また、それがどのように機能するかを理解しようとしています。ブログ「 Ruby、RVM、Passenger、Rails、Bundlerの使用に関する開発中のアドバイス 」により、概要がわかりやすくなりました。
ところで、それはフランス語の記事の翻訳です、フランス語版のほうがいいです。
Gemがインストールされているパスを見つけるには、次を使用します。
gem which gem_name
実行可能ファイル(html2hamlなど)を見つけるには、次を使用します。
which executable_name
Bundlerチームが推奨するbundle exec html2haml
と入力しないようにするには、my rubygems-bundler gemを使用します。