ruby - RVM 警告! PATH 设置不正确

标签 ruby linux bash rubygems rvm

我刚刚在我的 mac 上安装了 rvm,但是我在全局命令中收到了这个警告

Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-1.9.3-p194/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-p194'.

我的 $PATHS 确认警告:

$echo :$PATH:

/usr/local/rvm/bin:/usr/local/heroku/bin:/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:

按照建议,我首先尝试了 rvm get stable --auto-dotfiles 但没有成功,然后我检查了我的 shell 初始化文件。我的/.bash_profile:

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
export PATH=/usr/local/share/python:$PATH
PATH=$PATH:$HOME/bin:/opt

我的/Users/User/.bash_profile 似乎是罪魁祸首:

export PS1="[\w]$"
alias ll='ls -laGH'
alias .='echo $PWD'

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

# rvm
PATH=/usr/local/rvm/bin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

原因是如果我删除 Heroku Toolbelt 和 rvm 路径(这是其他堆栈溢出问题建议的答案),/usr/local/rvm/gems/ruby-1.9.3-p194/bin 会排在第一位,问题就解决了。但是,我不知道如何处理 Heroku Toolbelt。此外,无论如何,PATH=/usr/local/rvm/bin:$PATH 不应该将 rvm 放在第一位吗?

我一定是遗漏了一些微不足道的解决方案。

补充说明: $rvm --debug get head 除了上面张贴的警告外,没有产生与此相关的安装说明。

更新:调用 rvm system 修复了问题,但仅限于当前 shell session 。 $echo $PATH 现在产生:

:/usr/local/heroku/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/rvm/bin:

什么是永久修复?

最佳答案

我对 rvm 1.25.26 有同样的问题。

解决方案:

我修改了 ~/.bashrc 如下:

## rvm
PATH="$GEM_HOME/bin:$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting
[ -s ${HOME}/.rvm/scripts/rvm ] && source ${HOME}/.rvm/scripts/rvm

导致:

在 __rvm_path_match_gem_home_check() 函数处发出警告 $HOME/.rvm/scripts/functions/cli

如果 $PATH 的开头不是从 $GEM_HOME/bin 开始,则会显示一条警告消息。

__rvm_path_match_gem_home_check()
{
  (( ${rvm_silence_path_mismatch_check_flag:-0} == 0 )) || return 0
  [[ -n "${GEM_HOME:-}" ]] || return 0
  case "$PATH:" in
    ($GEM_HOME/bin:*) true ;; # all fine here
    (*:$GEM_HOME/bin:*)
      __rvm_path_match_gem_home_check_warning "is not at first place"
      ;;
    (*)
      __rvm_path_match_gem_home_check_warning "is not available"
      ;;
  esac
}

关于ruby - RVM 警告! PATH 设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650731/

相关文章:

ruby-on-rails - 如何删除 Ruby on Rails 4 beta?

ruby - 以 Ruby 可以理解的格式获取维基百科信息框

linux - 如何在 Ubuntu 上授予英特尔实感摄像头的权限

linux - 如何在 linux 中读取用户日期并在 svn 日志中使用该日期

bash - 使用 bash 脚本解析文件

Ruby 修改一段字符串

java - 静态和动态语言中的依赖注入(inject)

PHP 系列适用于 Windows,但不适用于 Linux

返回两个字符串不同之处的 Linux bash 命令

linux - 如何自动监控CPU使用率并在达到阈值时返回结果