web-dev-qa-db-ja.com

Rubygems、Bundler、およびRVMの混乱

もう一度尋ねる前に、「 Rubygems、Bundler、およびRVMの関係 」を読みます。

さて、このような多くの質問がありますが、答えた人はRubygems、RVMおよびBundlerで動作すると言い、それぞれが単独でどのように動作するかを説明していません。

Gemをインストールするとき、3つが単独でどのように機能するかと本当に混乱しています。あなたがどのように働いているのか教えてはいけません。

私の混乱はこれらの質問に分解できます。 gemがインストールされる場所:

  1. Rubygems(RVMまたはBundlerなし)がありますか?
  2. RubygemsとRVMがインストールされていますか?
  3. Rubygems、RVM、Bundlerはインストールされていますか?

ウェブ上のリソースまたは詳細な回答のいずれかを使用して、このことを理解してください。

63
Anand
  1. Gemのインストール先を確認するには、ターミナルでecho $GEM_HOMEを実行します。
  2. RVMを使用する場合、$ GEM_HOMEが変更されると、gemがRVMインストールにインストールされます。 echo $GEM_HOMEを実行すると、RVMインストールへのパスが表示されます。
  3. Bundlerがミックスに追加されると、gemsは$GEM_HOMEにインストールされるか、実行時にパスを指定するとbundle installがそのパスにインストールされます。 Bundlerを介してgemがどこにあるかを調べるには、bundle show gemnameを使用して完全なパスを取得できます。
38
idlefingers

使用する gem env各コンテキストのgemパスをリストします。

RVMなしgem envは、システムgemライブラリパスを報告します。

RVMを使用gem envは、RVM管理のgemライブラリパスを報告します。

Bundlerは、アプリケーションの依存関係を管理し、環境内のgemライブラリにインストールします。 RVM + Bundlerを使用している場合、gemはRVM管理のgemディレクトリにインストールされます。 RVMなしで使用している場合、Bundlerはシステムのgemディレクトリにgemをインストールします。

4
Aditya Sanghi

また、それがどのように機能するかを理解しようとしています。ブログ「 Ruby、RVM、Passenger、Rails、Bundlerの使用に関する開発中のアドバイス 」により、概要がわかりやすくなりました。

ところで、それはフランス語の記事の翻訳です、フランス語版のほうがいいです。

0
pgras

Gemがインストールされているパスを見つけるには、次を使用します。

gem which gem_name

実行可能ファイル(html2hamlなど)を見つけるには、次を使用します。

which executable_name

Bundlerチームが推奨するbundle exec html2hamlと入力しないようにするには、my rubygems-bundler gemを使用します。

0
mpapis