Rails using rbenv(eg 2.3 and 3.1))の複数のバージョンを使用することは可能ですか?これは、rvmのgemsetsで簡単でしたが、今それを行うための最良の方法は何ですか?私はrbenvに切り替えました(また、rbenv-gemsetなしでそれを行う方法を探しています)。
あなたがこれに対する答えを得たかどうかはわかりませんが、私は私がやったことを提供すると思い、それはうまくいったようです。
そのため、いったんrbenvをインストールし、それを使用して特定のRubyバージョンをインストールすると、そのRuby用にRailsの複数のバージョンをインストールできます。
STEP 1. Railsバージョンごとに必要なRubyのバージョンをインストールします
% RBENV_VERSION=1.9.2-p290 rbenv exec gem install Rails --version 3.0.11
コマンドラインで「RBENV_VERSION = 1.9.2-p290」プレフィックスを使用することで、どのRuby rbenvが関係するかを指定します。
次に、「rbenv exec」コマンドを使用して、Railsをインストールできます。例のようにバージョンフラグを使用して、必要なバージョンを指定します。複数のバージョンを一度にインストールできるかどうかはわかりませんが、必要な回数だけこのコマンドを実行して、必要な各バージョンをインストールします。
注:これはすべてrbenvディレクトリ内で管理されるため、完全に安全で含まれています。
STEP 2.必要なRailsバージョンを指定して、新しいRailsプロジェクトをビルドします。
% RBENV_VERSION=1.9.2-p290 rbenv exec Rails _3.0.11_ new my_project
ステップ3.そのプロジェクトに移動し、ローカルのrbenv Rubyバージョンを設定することを忘れないでください。
% cd my_project
% rbenv local 1.9.2-p290
このプロジェクトを削除する場合は、通常どおりに削除してください。
Railsバージョンをrbenv gemsから削除/管理する場合は、通常のgemコマンドを使用できます。コマンドラインの前に次のように追加します。
% RBENV_VERSION=1.9.2-p290 rbenv exec gem {some command}
そしてもちろん、rbenv内で管理されている完全なRubyバージョンとそのすべてのシムなどをかなり簡単に削除できます。自己完結型のものが好きです。
お役に立てれば。
参考までに、これは少なくともこのようなもののかなり良いウォークスルーです:
rbenv-gemset と呼ばれるrbenvプラグインがあり、これはrvm gemset
-コマンドと同様に動作するはずですが、rbenvがこのように機能することを意図していないため、私は試していません。
私は通常、RailsバージョンをBundlerで管理します。ネイサンが他の回答のコメントで提案したとおりです。希望するRailsバージョンでGemfileを作成し、bundle install
を実行しますRailsアプリケーションを作成し、Gemfileを置き換えて、Bundlerに引き継がせるようにします。
mkdir my-Rails-app
cd my-Rails-app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'Rails', '3.2.17'" >> Gemfile
bundle install
bundle exec Rails new . --force --skip-bundle
bundle update
もっと詳しく知りたければ、 私のブログの記事 と書いた。
それが役に立てば幸い!