需要在我的 RVM 的 bashrc 文件中修复 PATH

Need to Fix PATH in my bashrc File for RVM

我最近对操作系统进行了全新安装,并从备份中复制了旧的 .bashrc 文件。我安装了 rvm 1.26.10 版(最新的稳定版)。我安装了 ruby 2.2.0。当我获取 .bashrc 文件时,出现以下错误:

Warning! PATH is not properly set up, '/Users/myusername/.rvm/gems/ruby-2.2.0@mygemset/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.2.0@mygemset'.

这是我的 PATH 语句。我在此处包含的第一行是新安装的 RVM 中的 .bash_profile 文件中的一行。我将它们复制到 .bashrc 中。我也是 运行 postgres.app 需要最后一条语句才能将其设置为当前 PostgreSQL 实例。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
PATH="$PATH:$HOME:/.rvm/rubies/ruby-2.2.0/bin/ruby:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
export PATH="$PATH:$HOME/.rvm/bin"
export PATH=/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH

我从 Ruby 在 Michael Hartl 教程(2011 或 2012 年的当前版本)上的 Ruby 推荐的 .bashrc 文件和 RVM 使用的设置开始那时。我知道从那以后情况发生了一些变化。

我的 bash 知识有限,如有任何帮助,我们将不胜感激。

更新:2015 年 2 月 2 日 2:40 下午 CST

我将 bash 语句更改为以下内容并删除了警告:

export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
PATH="$PATH:$HOME:/.rvm/rubies/ruby-2.2.0/bin/ruby:/Applications/Postgres.app/Contents/Versions/9.4/bin:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"

更新:2015 年 2 月 2 日 5:14 下午 CST

这是我的 Bash 声明:

PATH="$PATH:$HOME:/.rvm/rubies/ruby-2.2.0/bin/ruby:/Applications/Postgres.app/Contents/Versions/9.4/bin:/usr/bin/psql"
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

这是 echo $PATH 的输出:

/Users/username/.rvm/gems/ruby-2.2.0@gemsetname/bin:/Users/username/.rvm/gems/ruby-2.2.0@global/bin:/Users/username/.rvm/rubies/ruby-2.2.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin:/Users/username/.rvm/bin:/Users/username:/.rvm/rubies/ruby-2.2.0/bin/ruby:/Applications/Postgres.app/Contents/Versions/9.4/bin:/usr/bin/psql:/Users/username/.rvm/bin

rvm 期望其 $PATH 内容在 $PATH 中排在第一位。您应该在 $PATH 之前 采购 rvm 添加项目,而不是之后。

处理这个问题几天后,我决定继续并继续我的 postgres.app 实施,并收到 RVM 的警告消息。我 运行 我原来的 bash 语句顺序不同。

export PATH="$PATH:$HOME/.rvm/bin"
PATH="$PATH:$HOME:/.rvm/rubies/ruby-2.2.0/bin/ruby:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
export PATH=/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH

我成功实施了 postgres.app。我仍然收到警告消息,但我在 Rails 上的 Ruby 应用程序能够找到正确的 gems 并且 运行 成功。

我的 RVM 不会停止抱怨 PATH,即使我的 .bashrc 中的最后一件事是这一行:

# RVM
source ~/.rvm/scripts/rvm

所以我只是将投诉重定向到 /dev/null:

# RVM
source ~/.rvm/scripts/rvm > /dev/null 2>&1
rvm use default > /dev/null 2>&1

最后一行还确保 RVM 在 PATH 中排在第一位,所以它真的没有什么可抱怨的。

你应该像这样添加行

export PATH= '/Users/myusername/.rvm/gems/ruby-2.2.0@mygemset/bin:other"

也许可以帮到你