如何在不离开当前目录的情况下重新加载.ruby-version / .ruby-gemset / .rvmrc?

时间:2014-01-15 20:14:34

标签: rvm rvmrc

我们正在使用RVM来管理数十个项目的红宝石和宝石。

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

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

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

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

2 个答案:

答案 0 :(得分:10)

我想我找到了答案,但由于它没有记载,我不知道它是否真的合法。

看来如果你这样做:

$ rvm use .

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

此功能目前(文件中提到的RVM 1.23.13)(即rvm help use)。

也许它应该是?

答案 1 :(得分: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' )

我真的不认为是真的(因为我确实有.rvmrc文件。),或者我可能只是不明白。

编辑:

我正在使用rvm 1.25.33

我并不是故意接受批评,只是想添加更多信息!