RVM警告!路径未正确设置[英] RVM Warning! PATH is not properly set up

本文是小编为大家收集整理的关于RVM警告!路径未正确设置的处理方法,想解了RVM警告!路径未正确设置的问题怎么解决?RVM警告!路径未正确设置问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我刚刚在我的Mac上安装了RVM,但我在全局命令中收到此警告

警告!路径未正确设置,'/usr/local/rvm/gems/ruby-1.9.3-p194/bin'通常是由shell初始化文件引起的 - 检查'path = .. .'条目,它也可能有助于将RVM重新添加到您的DotFiles:'RVM GET -AUTO-DOTFILES',暂时修复此shell会话运行:'RVM使用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/LOMIC/BIN:/USR/Local/SBIN:/USR/BIN:/BIN:/USR/SBIN:/SBIN:

如图所示,我首先尝试了rvm get stable --auto-dotfiles无用,然后我检查了我的shell初始化文件. my/.bash_profile:

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

my/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工具包.另外,不应该先将RVM置于RVM?

我必须缺少一些微不足道的解决方案.

附加说明: $rvm --debug get head除了上面发布的警告之外,没有关于此的安装说明.

更新:调用rvm system修复问题,但仅在当前shell会话中. $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
}
在我的情况下,heroku已将以下内容添加到我的.bashrc:

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

请注意它是如何预先调整的路径.我所要做的就是把它切换到:

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

和我的问题得到解决!

如果您没有Heroku,请查找可能会将其自身前进到您的路径中的其他任何内容.实际上,RVM只想确保它在任何包括在Log Loading的Gems中包含自己的宝石之前加载Ruby的公平机会.

其他推荐答案

解决方案是运行

$rvm install ruby-head
$rvm use ruby-head

具有可选的$rvm docs generate-ti

我在我的系统上使用过时的Ruby版本,将其更新到当前版本固定它.

本文地址:https://www.itbaoku.cn/post/786399.html