获得“警告! PATH没有正确设置“当使用rvm使用2.0.0 – 默认
以上第一次不工作,第二次工作。
尝试为任何新的shell窗口设置ruby版本为2.0.0。
干
$ rvm use 2.0.0 --default
给
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/ 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 --au to-dotfiles', to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125' . Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
然后做同样的事情
$ rvm use 2.0.0 --default
现在没有错误,即
$ rvm use 2.0.0 --default Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247 durrantm.../durrantm$
但新窗口仍然给我ruby1.9.3,而不是2.0.0
我的.bashrc
文件里有:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting [[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"
我的.bash_profile有:
source ~/.profile case $- in *i*) . ~/.bashrc;; esac
试
rvm get stable
似乎工作,但在很多绿色输出显示结束:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
一个新的terminal窗口与rvm list rubies
显示:
$ rvm list rubies Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/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-1.9.3-p125'. rvm rubies => ruby-1.9.3-p125 [ x86_64 ] ruby-1.9.3-p194 [ x86_64 ] * ruby-2.0.0-p247 [ x86_64 ] # => - current # =* - current && default # * - default
答案是把这个:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
**在我的.bashrc文件的BOTTOM ** (最后一行 – 重要!)。 我在我的.bash_profile文件(我在Ubuntu上),只有部分工作导致混乱的错误。
我卸载rvm后卡住了
rvm implode
那么在重新安装rvm之后,它会收到相同的错误信息。 在通过wayne seguin的git hub页面浏览之后。 他在他的页面列出了工具,并build议使用
rvm reset
安装后。 这解决了我的错误消息。 没有PATH编辑需要。
我尝试了迈克尔·达兰特的解决scheme,它并没有为我工作。 但我跑rvm get stable --auto-dotfiles
,并开始按需要工作。
希望能帮助到你
也许不是解决这个问题的最好方法,但是我在.zshrc的底部添加了这一行(它也可以在.bashrc中使用!)
export PATH="$GEM_HOME/bin:$PATH"
这不是所问问题的答案,而是大多数评论者/响应者已经提出的相关问题 – 为什么需要将rvm行放在shell rc文件的底部?
答案很简单。
- 被加载的rvm代码将rvm ruby二进制目录放在
$PATH
的“前面” -
.bashrc
(或者默认shell的等价物)从上到下逐行读取和解释。
所以想象下面的情况:
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin $ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" /Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin $ export PATH=<something>:$PATH $ echo $PATH <something>:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
显然,如果在RVM行后面的shell init文件中出现了某些内容,并且对$ PATH进行了任何更改,更具体地说,如果它将目录预加载到$PATH
,那么这些更改会将rvm添加的目录从第一个位置下移。 当调用RVM时,会发现它的ruby二进制目录不在 $PATH
和BAM的开头! 你会得到警告:)。
我希望说清楚。
我有一个后续问题(希望我可以简单地添加评论 – 但我没有足够的学分)。 我有这个相同的问题 – 当我遵循build议使用--auto-dotfiles
的rvm脚本时,我遇到了麻烦,因为shell脚本以某种方式删除了我的.bashrc_profile文件。
无论如何,我最终得出了与上面列出的相同的答案,把这行放在.bashrc文件的底部。 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
你碰巧find为什么它的方式,而不是在.bashrc文件中间的行? Unix有没有清楚的说明Unix加载环境variables的方式,使RVM能够在一个实例中工作而不是另一个?
我面临同样的问题。 我发现在bashrc文件中
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting export PATH=$HOME/local/bin:$PATH export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
多个条目rvm。 我评论了一个条目,其工作正常。
#export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting #export PATH=$HOME/local/bin:$PATH export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
只需添加我的经验: 如果您使用.bash_profile
,请检查.bashrc
是否不会干扰 。 在这种情况下,通过.bash_profile
杀死.bashrc
以支持单个Bashconfiguration。
我从我的.zshrc中的PATH =行清理了所有.rvm文件
这解决了我的问题,其他答案在这里(采购rvm脚本,或获得稳定的自动dotfiles)没有。
我发现这个命令是非常有用的。 它解决了我的情况。 所以如果有人有同样的问题,请试试看: rvm get stable --auto-dotfiles
rvm install ruby-head
修复了这个问题 – 耗费了一点时间,但是做到了。 不知道这是否使任何unpronounced更新我的bash文件。
我修正了这个问题。 尝试使用这样的命令:
rvm use 2.0.0-p353
ADD -p353或其他你版本的细节到行结束