rvm系统范围安装:警告! PATH未正确设置

时间:2013-10-04 19:01:28

标签: ruby bash path rvm environment-variables

我在Ubuntu 12.10上的/usr/local/rvm/bin中安装了多用户版本的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/]

我已尝试过similar questions中列出的建议,但rvm get headrvm 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

3 个答案:

答案 0 :(得分:4)

RVM和PATH

RVM希望首先在PATH中找到它的bin目录。 RVM确实非常希望确保它优先于任何系统二进制文件或宝石。要使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>作为第一个故障排除步骤。

答案 1 :(得分:0)

您的PATH在开始时包含./bin:/usr/local/sbin:/usr/local/bin,尽管我同意将/usr/local/sbin:/usr/local/bin保留在开头是件好事我需要警告您保持{极为危险} {1}}首先,就像乞讨劫持你的计算机一样,这是分布式工作和使用公共存储库的最大安全问题之一。

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

答案 2 :(得分:0)

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

如果我chmod它删除读/执行位,我发现rvm再次开心。

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