Mic*_*ant 103 ruby bash .bash-profile rvm ruby-2.0
以上不是第一次工作,第二次工作.
尝试将ruby版本设置为2.0.0以用于任何新的shell窗口.
干
$ rvm use 2.0.0 --default
Run Code Online (Sandbox Code Playgroud)
给
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
Run Code Online (Sandbox Code Playgroud)
然后做同样的事情
$ rvm use 2.0.0 --default
Run Code Online (Sandbox Code Playgroud)
现在没有错误,即
$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$
Run Code Online (Sandbox Code Playgroud)
但新窗口仍然给我ruby 1.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"
Run Code Online (Sandbox Code Playgroud)
我的.bash_profile有:
source ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Run Code Online (Sandbox Code Playgroud)
试
rvm get stable
Run Code Online (Sandbox Code Playgroud)
似乎工作,但在很多绿色输出结束时显示:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
Run Code Online (Sandbox Code Playgroud)
一个新的终端窗口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
Run Code Online (Sandbox Code Playgroud)
Mic*_*ant 165
答案是这样说:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Load RVM into a shell session *as a function*
Run Code Online (Sandbox Code Playgroud)
**我的.bashrc文件的BOTTOM**(最后一行 - 重要!).我在我的.bash_profile文件中(我在Ubuntu上)并且只有部分工作导致了令人困惑的错误.
小智 161
在我卸载了rvm之后我被困住了
rvm implode
Run Code Online (Sandbox Code Playgroud)
然后重新安装rvm后收到相同的错误消息.在浏览了wayne seguin的git hub页面之后.他在他的页面上列出了工具并建议使用
rvm reset
Run Code Online (Sandbox Code Playgroud)
安装后.这修复了我的错误信息.无需编辑PATH.
小智 25
也许这不是解决这个问题的最佳方法,但我在.zshrc的底部添加了这一行(它也适用于.bashrc!)
export PATH="$GEM_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
这不是问题的答案,而是大多数评论者/响应者提出的相关问题 - 为什么需要将rvm行放在shell rc文件的底部?
答案很简单.
$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
Run Code Online (Sandbox Code Playgroud)
显然,如果在RVM行之后的shell init文件中存在某些内容并对$ PATH进行了任何更改,更具体地说,如果它$PATH预先添加了目录,那么这些更改将把rvm添加的目录从第一个位置推下来.RVM在被调用时会发现它的ruby二进制目录不在$PATH BAM 的最开头!你会得到警告:).
我希望能让事情变得清晰.
我有一个后续问题(希望我可以简单地添加评论 - 但我没有足够的学分).我有同样的问题 - 当我按照建议使用的rvm脚本时--auto-dotfiles,我遇到了麻烦,因为shell脚本以某种方式删除了我的.bashrc_profile文件.
无论如何,我最终得到了上面列出的相同答案,将这一行放在.bashrc文件的底部.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
您是否碰巧找到了为什么它的工作方式,而不是.bashrc文件中间的行?你是否清楚Unix加载环境变量的方式,使得RVM在一个实例中工作而在另一个实例中不工作?
只是添加我的经验:如果你正在使用.bash_profile,检查是否.bashrc没有干扰.杀害.bashrc由赞成单一的Bash配置的.bash_profile作品出在这种情况下.
我面临同样的问题.我发现在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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60659 次 |
| 最近记录: |