11

RVM Web サイトにある説明に本当に混乱しています。さまざまな Ruby インタープリターと gemset の関係は、私には明確ではありません。私によると、それはこのようなものです -

  1. Mac のアカウントには 1 つの rvm があります
  2. その rvm は、さまざまなバージョンの Ruby インタープリターのセットをインストールして管理します。
  3. Ruby の各バージョンには、一連の gemset があります。

私は物事を明確にしていますか...これ以上の説明は大歓迎です。私は (Ruby 1.8.7 + rails 2.3.8 とその依存関係) と (Ruby 1.9.2 と Rails 3.0 とその依存関係) に取り組む立場にあります...

rvm の助けを借りて多くの Ruby バージョンと gemset を処理することに精通している人がいる場合は、私に説明してください...助けてくれてありがとう

4

2 に答える 2

19

これが私がそれをするのが好きな方法です...

  1. RVMでRubyをインストールする
  2. そのルビーに切り替える/使用する
  3. プロジェクトのgemsetを作成する
  4. そのgemsetに切り替える/使用する
  5. 必要なgemをインストールする
  6. 選択したルビーとジェムセットを指すエイリアスを作成します
  7. その新しいエイリアスに切り替える/使用する(ここでも、プロジェクトに関連付けられています)

これは、互いに分離したいさまざまなプロジェクトに必要な回数だけ実行してください。

例:

$ rvm install ruby-1.9.2
...
$ rvm list

rvm rubies

=> ree-1.8.7-head [ i386 ]
   ruby-1.9.2-head [ i386 ]
   ruby-1.9.2-preview3 [ i386 ]

$ rvm use ruby-1.9.2-preview3

info: Using ruby 1.9.2 preview3
$  rvm gemset create my_project

info: Gemset 'my_project' created.
rvm gemset use my_project

info: Now using gemset 'my_project'
$ gem install httparty
When you HTTParty, you must party hard!
Successfully installed crack-0.1.8
Successfully installed httparty-0.6.1
2 gems installed
$ rvm alias create my_project ruby-1.9.2-preview3@my_project

info: Creating alias my_project for ruby-1.9.2-preview3@my_project.

info: Recording alias my_project for ruby-1.9.2-preview3@my_project.
$ rvm use my_project

info: Using ruby 1.9.2 preview3 with gemset my_project
$ ....

これで、特定のプロジェクト専用の環境全体ができました。非常に特殊な要件を持つ他のプロジェクト全体を踏みにじることを心配することなく、あらゆる種類の異なるgem /バージョンを試すことができるので、これは素晴らしいことです。

幸運を!

于 2010-09-14T15:06:32.643 に答える
2

上記の Brian の回答に追加するために、.rvmrc ファイルを使用して、新しいプロジェクト ディレクトリに入るときに gemset を動的に切り替えることもできます。

以下を実行するだけです。

rvm rvmrc create ruby-1.8.7-p358@my_project

これは、ジェムセットを切り替えて変更するのを忘れたときに発生した混乱を防ぐのに役立ちます

更新 .rvmrc ファイルは、新しい .ruby-version ファイル用にドロップされる過程にあります。ここでの議論を参照してください: https://gist.github.com/fnichol/1912050

于 2012-07-24T15:33:18.067 に答える