1

rbenvのドキュメントには、bundlerを使用していない場合は、gemsetsプラグインを使用してgemをサンドボックス化できると記載されています。

Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using  Bundler you can install the rbenv-gemset plugin.

ただし、私はバンドラーを使用しており、異なるジェムセットを持つプロジェクトを切り替えるときに、再バンドルする必要があります。私がrvmを使用していたとき、これは.gemsetsファイルのために単純でした。

知らない、またはドキュメントを誤解したサンドボックス機能がバンドラーにありますか?

4

4 に答える 4

5

私はこの明確で十分に文書化された解決策を見つけました:

rbenv、ruby-build、rubies、rbenv-gemset、およびbundlerのセットアップとインストール

これで、gemをインストールすると(以下の「Bundler」セクションを参照)、hellosetgem領域に移動します。

複数のジェムセットの使用を組み合わせることができます。

この設定の大きな利点は、各プロジェクトが異なるバージョンのgemの異なるセットを使用できるようにすることです。

「。 」というタイトルのセクションをお読みくださいEnable RVM-style “gemsets” (optional)

これは、gemset用のrbenvプラグインを使用します:https ://github.com/jamis/rbenv-gemset 。

2012年8月12日更新
これを使用して、異なるバージョンのRubyを使用する2つのプロジェクトと、別々のgemセットを管理しています。それはうまくいきます。

于 2012-08-08T14:55:22.683 に答える
4

bundlerは、本質的に、GemfileおよびGemfile.lockファイルを使用して、プレフィックスが付いたコマンドを介してアクセスする特定のプロジェクトの「gemset」を作成します。bundle exec

于 2012-01-14T22:09:25.870 に答える
1

Bundlerでchgemsを使用してみてください。chgemsはRubyGemsのchrootに似ています。で新しいサブシェルを生成しPATH、プライマリとして使用するようGEM_HOMEGEM_PATH更新されます。すべてのgemはプロジェクトディレクトリ内にインストールされるため、プロジェクト後のクリーンアップはと同じくらい簡単です。$project/.gem/$ruby/$versionGEM_HOMErm -rf $project/

于 2012-11-21T07:08:18.900 に答える
1

これは、rbevnがシムを使用する方法に関係している可能性があります。https://github.com/carsomyr/rbenv-bundlerをチェックして ください。

于 2012-01-15T00:22:36.897 に答える