32

rbenv を使用して複数のバージョンのレールを使用することは可能ですか (例: 2.3 と 3.1)? これは rvm の gemset で簡単にできましたが、rbenv に切り替えた今、最善の方法は何かを考えています (また、rbenv-gemset なしでそれを行う方法を探しています)。

4

2 に答える 2

60

これに対する答えが得られたかどうかはわかりませんが、私がしたことを提供したいと思い、うまくいったようです。

したがって、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 などを簡単に削除できます。すべてが自己完結しているのが好きです。

お役に立てれば。

参考までに、これは少なくともこの内容のいくつかのかなり良いウォークスルーです:

http://ascarter.net/2011/09/25/modern-ruby-development.html

于 2012-03-11T22:41:02.493 に答える
28

-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

詳細が必要な場合は、ブログに記事を書きました。

それが役に立てば幸い!

于 2014-05-02T16:05:37.140 に答える