rvm系统范围安装:警告! PATH未正确设置
我在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 , Michal Papis [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
RVM和PATH
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
作为第一个故障排除步骤。
你的PATH
在开始时包括./bin:/usr/local/sbin:/usr/local/bin
,尽管我同意保留/usr/local/sbin:/usr/local/bin
是好的开始我需要警告你,保留./bin
是非常危险的,就像乞求劫持你的计算机一样,这是分布式工作和使用公共存储库的最大安全问题之一。
除非这个小细节,否则@CodeGnome的答案forms非常准确。
我发现它似乎是导致问题的/etc/profile.d/rvm.sh
。 链接到其内容: https : //gist.github.com/armhold/6832283 。
如果我chmod它删除读/执行位我发现rvm再次开心。
我想知道是否应该手动安装此脚本的更新…