2

Rails プロジェクト ディレクトリに cd したときに rvm が gemset を切り替える理由は何ですか?

.rvmrc ファイルがありません。デフォルトのgemsetを設定しました(他のディレクトリに「固執」します)。これが私が意味することです:

[20130109_234306] will@localhost:~
$ rvm gemset list

gemsets for ruby-1.9.3-p362 (found in /Users/will/.rvm/gems/ruby-1.9.3-p362)
   (default)
   global
=> ruby-1.9.3

[20130109_234313] will@localhost:~
$ cd Projects/rails_project

[20130109_234320] will@localhost:~/Projects/rails_project
$ rvm gemset list

gemsets for ruby-1.9.3-p362 (found in /Users/will/.rvm/gems/ruby-1.9.3-p362)
=> (default)
   global
   ruby-1.9.3
4

4 に答える 4

5

Rails プロジェクト ディレクトリの Gemfile は、Gemfile が ruby​​ のバージョン (ruby="1.9.3" や #ruby=1.9.3@gemset など) を指定している場合、RVM に ruby​​ を切り替えるように指示します。

これは、RVM がより多くの機能をサポートしているためです.rvmrc=> https://rvm.io/workflow/projects/#ruby-versions完全なリストはこちらにあります: https://github.com/wayneeseguin/rvm/blob/master/ scripts/functions/rvmrc#L743-L744

RVM はGemfile の.rvmrc .versions.conf .ruby-version .rbfu-version .rbenv-versionに次のファイルをチェックすることに注意してください: . .rvmrcそのため、 " " という行を含むファイルを作成すると、 rvm use ruby-1.9.3-p362@ruby-1.9.3RVM は Gemfile を無視します。

于 2013-01-10T09:12:30.967 に答える
1

RVMには、Project.rvmrcと呼ばれる機能があります~/Projects/rails_projectには、と呼ばれるファイルがあります。このファイルには.rvmrc、そのプロジェクトに移動するときのRVMの手順が含まれています。

編集:あなたがそのファイルを持っていないという行を見逃しました。ごめん。

于 2013-01-10T08:07:31.637 に答える
1

プロジェクトの Gemfile チェックも無効にするプロジェクト .rvmrc を無効にすることができます。これを行うには、次の行を/etc/rvmrcまたはに追加します~/.rvmrc。その後、Gemfile では無視されるため、.rvmrc ファイルをプロジェクトに追加する必要はありません。これは rvm でテストされました1.19.6 (Stable)

rvm_project_rvmrc=0

ソース: https://rvm.io/workflow/rvmrc

于 2013-08-13T20:20:52.973 に答える
0

これを達成するには、少なくとも 2 つの方法があります。例:</p>

  1. echo 2.1.1 > .ruby-versionecho rails4 > .ruby-gemset

  2. #ruby=2.1.1@rails4Gemfileに最初の行を追加

なぜ.ruby-gemset

.ruby-versionの形式の gemset もサポートしていますruby@gemsetが、これは他の Ruby バージョン マネージャーと互換性がありません。別のファイルを使用して、互換性を損なうことなく gemset を指定することができます - .ruby-gemset.

上記がベストプラクティスだと思います。

于 2014-10-10T05:51:20.127 に答える