9

我们正在使用 RVM 来管理数十个项目的 rubies 和 gemsets。

有时我会编辑.ruby-versionor.ruby-gemset文件,或者从我们的 VCS 中提取这些文件的更新版本,但当然 RVM 不知道这些更改,除非我告诉它。如果更改来自 VCS,即使我也可能不知道。那么最好的方法是什么?

能够自动化该过程会很好,这样每当我从存储库中获取更改时它就会自动完成。

我知道让 RVM 重新读取这些文件的唯一方法是cd到另一个目录,然后返回到项目目录。这显然很简单,也很容易,但它看起来有点不雅,而且不是自我记录的。

我希望有一些命令rvm reload(存在,但做其他事情)来重新读取项目文件,但我找不到任何类似的东西。

4

2 回答 2

12

我想我已经找到了答案,但由于它是无证的,我不知道它是否真的合法。

看来,如果你这样做:

$ rvm use .

它显然会(重新)读取.ruby-version.ruby-gemset文件(不确定.rvmrc文件,因为我们不使用它们)。我通过尝试rvm use .ruby-versionand发现了这一点rvm use .ruby-gemset,这两者似乎都导致 RVM 读取两个“点”文件。

目前(从 RVM 1.23.13 开始)在文档(即rvm help use)中未提及此功能。

也许应该是?

于 2014-01-15T21:08:43.403 回答
1

我使用.rvmrc,我曾经这样做

cd;cd -

但现在我愿意

cd .

如果我做

rvm use .

我明白了

Could not determine which Ruby to use; . should contain .rvmrc or .versions.conf or .ruby-version or .rbfu-version or .rbenv-version, or an appropriate line in Gemfile. ( see: 'rvm usage' )

which I don't really think is true (because I do have a .rvmrc file in .), or perhaps I just don't understand.

Edit:

I am using rvm 1.25.33

I didn't mean to come across as critical, just trying to add more info!

于 2014-10-20T22:21:52.557 回答