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

时间:2015-02-02 19:17:50

标签: bash 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声明。我在这里包含的第一行是在.bash_profile文件中新安装的RVM中的一行。我将它们复制到.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

我开始使用Michael Hartl的Ruby on Rails教程推荐的.bashrc文件(2011年或2012年的当前版本)以及当时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

4 个答案:

答案 0 :(得分:2)

我的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中排在第一位,因此它没有任何可抱怨的内容。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在处理了这几天后,我决定继续继续我的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。我仍然收到警告消息,但我的Ruby on Rails应用程序能够找到正确的gems并成功运行。

答案 3 :(得分:0)

你应该添加像这样的行

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

也许这可以帮到你