【发布时间】:2011-04-21 19:38:59
【问题描述】:
是否有查看 RVM 是否可能已安装的命令?我刚刚完成了 RVM 的设置过程,并想对其进行测试。
另外,既然我拥有(或最终将拥有)RVM,我是否应该不再使用 apt-get 来下载库/gems 并始终通过 RVM 来完成?
【问题讨论】:
标签: ruby-on-rails ruby rvm
是否有查看 RVM 是否可能已安装的命令?我刚刚完成了 RVM 的设置过程,并想对其进行测试。
另外,既然我拥有(或最终将拥有)RVM,我是否应该不再使用 apt-get 来下载库/gems 并始终通过 RVM 来完成?
【问题讨论】:
标签: ruby-on-rails ruby rvm
rvm -v 是一个好的开始,然后按照安装说明 (link) 输入 $ type rvm | head -1 应该返回“rvm 是一个函数”。至于第二部分,是的,您应该坚持使用 gem install (此处为gemname)使用rvm安装gems,这将为您省去很多麻烦
【讨论】:
首先,确保您的 RVM 已正确安装:
https://rvm.beginrescueend.com/rvm/install/
rvm info 是了解一切是否顺利的好方法。
关于 gems,我想说通过 RVM 安装的 Rubies 来管理它们,它们有一些优点,比如 gemsets:
https://rvm.beginrescueend.com/gemsets/
现在我在喜欢原生包而不是 gem 的人之间总是存在一些争议(这有一些正当的理由,但这是另一次讨论),但我认为 RVM 在这里稍微倾斜了一些规模,就像 Debian 上的 Ruby 包的问题一样:
【讨论】:
有几种情况:
我发现测试所有 4 种情况的唯一方法是检查以 rvm_ 开头的环境变量:
env | egrep -v '^PATH' | egrep '^rvm_path'
我们可以检查 MY_RUBY_HOME 或 GEM_HOME 等变量,但这些变量可以由用户手动覆盖,因此不能保证我们使用的是 RVM。
如果您要在脚本中使用上述命令,您可以将其改写如下并检查退出代码:
env | egrep -v '^PATH' | egrep -q '^rvm_path'
当然,如果您只需要确定 RVM 是否在磁盘上并且是否可以访问,您可以使用此处建议的更简单的方法。
【讨论】: