3

/usr/local/rvm/bin我在 Ubuntu 12.10 上安装了多用户版本的 RVM 。当我将 Ruby 从 1.9.3 升级到 2.0.0 时,这似乎导致每当我执行rvm version或类似命令时弹出以下错误消息:

$ rvm version
Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-2.0.0-p247/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.0.0-p247'.

rvm 1.22.16 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

我已经尝试过类似问题中列出的建议rvm get head,但rvm get head --auto-dotfiles没有帮助。

我的最后有以下内容.bashrc

PATH=$PATH:/usr/local/rvm/bin # Add RVM to PATH for scripting                                                                      

我的路径是:

$ echo $PATH
./bin:/usr/local/sbin:/usr/local/bin:/usr/local/rvm/gems/ruby-2.0.0-p247/bin:/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p247/bin:/usr/local/rvm/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

$ which rvm
/usr/local/rvm/bin/rvm

$ which ruby
/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby
4

3 回答 3

4

RVM 和路径

RVM 期望首先在您的 PATH 中找到它的 bin 目录。RVM 真的非常想确保它优先于任何系统二进制文件或 gem。为了使 RVM 的系统安装愉快,您的 PATH 语句应类似于:

PATH=/usr/local/rvm/bin:$PATH

而你目前已经倒置了。这通常是 The Right Thing™ 要做的事情。

忽略错误

如果你真的知道你在做什么,你可以添加:

rvm_silence_path_mismatch_check_flag=1

到您的/etc/rvmrc~/.rvmrc文件。这将防止 RVM 抱怨不是 PATH 中的第一个,但很可能会给大多数人带来问题。

可能存在必要的合法边缘情况,例如在~/bin中有您想要优先的与 Ruby 相关的包装脚本。但是,调试 Ruby 和 RVM 会困难得多,因此您应该记住,which -a <ruby|gem>如果您启用了此选项,则将检查作为您的第一个故障排除步骤。

于 2013-10-04T19:17:40.977 回答
0

我发现这/etc/profile.d/rvm.sh似乎是导致问题的原因。链接到其内容:https ://gist.github.com/armhold/6832283 。

如果我对其进行 chmod 以删除读取/执行位,我会发现 rvm 再次感到高兴。

我想知道是否没有应该手动安装此脚本的更新...

于 2013-10-04T20:47:52.343 回答
0

您的开头PATH包含./bin:/usr/local/sbin:/usr/local/bin,尽管我同意保持/usr/local/sbin:/usr/local/bin开头很好我需要警告您,首先保持非常危险./bin,就像乞求劫持您的计算机一样,这是其中之一关于分布式工作和使用公共存储库的最大安全问题。

否则,除了这个小细节之外,@CodeGnome 的答案形式非常准确。

于 2013-10-04T19:45:42.763 回答