我的RVM出现问题 - 我不断收到错误消息,告诉我PATH设置不正确。
首先,任何一个听起来都像是来自一个完整的菜鸟,因为它是。我一直在寻找一些类似的线程,但没有任何帮助我解决这个问题。任何帮助将不胜感激!
当我运行rvm get head
并收到消息时:
Warning! PATH is not properly set up, '/Users/mbauer/.rvm/src/rvm/gems/ruby-2.1.0/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.1.0'.
我已尝试运行rvm get head --auto-dotfiles
并重新启动终端 - 没有帮助。
即使在当前的shell会话中,运行rvm use ruby-2.1.0
也不会执行任何操作。
当我跑rvm --debug get head
时,我注意到了这一点:
step> 'update_gemsets_install_rvm' started
Installing rvm gem in 1 gemsetsERROR: While executing gem ... (Errno::EACCES)
Permission denied - /Users/mbauer/.rvm/src/rvm/gems/ruby-2.0.0-p247@global/cache/rvm-1.11.3.8.gem
Installing gem-wrappers gem in 2 gemsetsERROR: While executing gem ... (Errno::EACCES)
Permission denied - /Users/mbauer/.rvm/src/rvm/gems/ruby-2.0.0-p247@global/cache/gem-wrappers-1.2.1.gemERROR: While executing gem ... (Errno::EACCES)
Permission denied - /Users/mbauer/.rvm/src/rvm/gems/ruby-2.0.0-p247@global/cache/gem-wrappers-1.2.1.gem
到目前为止,我的研究让我相信问题出现在我的bash_profile中
我一直在引用this thread,似乎我们有类似的问题,但我无法弄清楚我需要在bash_profile中更改/删除以解决问题。
以下是我的bash_profile的内容:
[[ -s "$HOME/.rvm/src/rvm/scripts/rvm" ]] && source "$HOME/.rvm/src/rvm/scripts/rvm" # Load RVM into a shell session *as a function*
if [[ -s $HOME/.rvm/scripts/rvm ]]; then
source $HOME/.rvm/scripts/rvm;
fi
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mbauer/.rvm/src/rvm/bin
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mbauer/.rvm/src/rvm/bin
有人能为我解释一下吗?
答案 0 :(得分:9)
我不打算告诉你该怎么做,因为你需要学习在使用环境变量时理解你在做什么。
在命令行中输入:
echo $PATH
RVM的路径信息应该是链中的第一个。
看看你的PATH操作:
[[ -s "$HOME/.rvm/src/rvm/scripts/rvm" ]] && source "$HOME/.rvm/src/rvm/scripts/rvm" # Load RVM into a shell session *as a function* if [[ -s $HOME/.rvm/scripts/rvm ]]; then source $HOME/.rvm/scripts/rvm; fi export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mbauer/.rvm/src/rvm/bin export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mbauer/.rvm/src/rvm/bin
你明白为什么它不是第一个链中的第一个? (另外,你是否看到一些普遍的混淆,表明你不知道PATH是如何工作的?)
我建议花点时间了解环境变量和PATH的工作原理。阅读RVM安装页面,然后弄清楚如何使RVM的初始化首先出现在PATH中。
答案 1 :(得分:7)
您在问题中引用了两个问题:第一个问题由@ the-tin-man回答,另一个是权限问题:
权限被拒绝 - /Users/mbauer/.rvm/src/rvm/gems/ruby-2.0.0-p247@global/cache/gem-wrappers-1.2.1.gemERROR:执行gem时...(Errno :: EACCES)
您可以使用以下方法修复它:
rvm fix-permissions
请记住,请务必阅读RVM打印的说明/警告/错误,他们随时为您提供帮助。