rbenv を使用して複数のバージョンのレールを使用することは可能ですか (例: 2.3 と 3.1)? これは rvm の gemset で簡単にできましたが、rbenv に切り替えた今、最善の方法は何かを考えています (また、rbenv-gemset なしでそれを行う方法を探しています)。
2 に答える
これに対する答えが得られたかどうかはわかりませんが、私がしたことを提供したいと思い、うまくいったようです。
したがって、rbenv をインストールし、それを使用して特定の Ruby バージョンをインストールすると、その Ruby に複数のバージョンの Rails をインストールできます。
ステップ 1. 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 gem から削除/管理したい場合は、通常の gem コマンドを使用できます。コマンド ラインに次のプレフィックスを付けるだけです。
% RBENV_VERSION=1.9.2-p290 rbenv exec gem {some command}
もちろん、rbenv 内で管理されている完全な Ruby バージョンとそのすべての shim などを簡単に削除できます。すべてが自己完結しているのが好きです。
お役に立てれば。
参考までに、これは少なくともこの内容のいくつかのかなり良いウォークスルーです:
-commandと同様に動作するrbenv-gemsetという rbenv プラグインがありますが、rbenvrvm gemset
はこのように動作するようには意図されていなかったので、試していません。
ネイサンが他の回答のコメントで提案したように、私は通常、Bundler を使用して Rails のバージョンを管理します。目的の 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
詳細が必要な場合は、ブログに記事を書きました。
それが役に立てば幸い!