RVM - 警告!PATH未正确设置

Mar*_*ark 6 ruby rvm

我的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'.
Run Code Online (Sandbox Code Playgroud)

我试过运行rvm get head --auto-dotfiles并重新启动终端 - 没有帮助.

rvm use ruby-2.1.0即使在当前的shell会话中,运行也不会执行任何操作.

我跑的时候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
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的研究让我相信问题出现在我的bash_profile中

我一直在引用这个帖子,似乎我们有类似的问题,但我无法弄清楚我需要在我的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
Run Code Online (Sandbox Code Playgroud)

任何人都可以为我阐明这一点吗?

the*_*Man 9

我不打算告诉你该怎么做,因为你需要学习理解你在处理环境变量时所做的事情.

在命令行中,输入:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

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中.

  • 虽然你可能不喜欢它,但它似乎帮助了OP,通过学习环境如何工作,这是我的意图.我不喜欢分发鱼,因为下次没有帮助对方避免这个问题.我宁愿他们学习如何钓鱼,以免他们重复这个问题,他们也可以教别人如何避免这个问题. (2认同)

mpa*_*pis 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
Run Code Online (Sandbox Code Playgroud)

请记住,请务必阅读RVM打印的说明/警告/错误,他们随时为您提供帮助.