为zsh和RVM正确设置PATH

时间:2013-12-29 20:49:50

标签: rvm zsh zshrc

我刚刚切换到ZSH并且遇到了RVM问题。我相信这与我的PATH有关。我遇到的一个问题是当我在iTerm2中启动一个新选项卡时,即使默认值为2.0.0,ruby版本也会切换到1.9.3。这是我的.zshrc文件。

export PATH="/Users/okyretina/.rvm/gems/ruby-2.0.0-p353@iou-web/bin:$PATH:$HOME/.rvm/bin:/Users/okyretina/.rvm/gems/ruby-1.9.3-p429@rails-3.2.13/bin:/Users/okyretina/.rvm/gems/ruby-1.9.3-p429@global/bin:/Users/okyretina/.rvm/rubies/ruby-1.9.3-p429/bin:/Users/okyretina/.rvm/bin:/Users/okyretina/bin:/Users/okyretina/xbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/okyretina/phantomjs/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/share/npm/bin"

# load RVM

# insure /usr/local/bin comes before /usr/bin
# PATH="/usr/local/bin:/usr/local/sbin:$PATH"

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

# This command should be at the end for it loads the oh-my-zsh.sh script
source $ZSH/oh-my-zsh.sh

我的导出路径非常长,但我不确定哪一个不再需要。

2 个答案:

答案 0 :(得分:1)

运行:

rvm get stable --auto-dotfiles

它将重新组织你的shell初始化文件以在适当的位置加载rvm,确保读取所有输出 - 它会打印重要的信息和警告。

答案 1 :(得分:0)

可能我的答案不会帮助您解决您的特定问题,但我会尽力帮助您找到解决方案。

您的$ PATH很长,很难确保文件的顺序正确。在zsh中你可以像这样设置$ PATH(例子来自我的配置):

typeset -U path

path=(
  /usr/local/{bin,sbin}
  /usr/local/git/bin
  /usr/local/opt/coreutils/libexec/gnubin
  $path
)

正如您可以看到这种方法在可读性方面更好,它可以帮助您确保$ PATH中的顺序正确。

同样在你的路径中你同时使用“/ Users / okyretina /”和$ HOME。我认为在所有情况下都使用$ HOME是有道理的,所以你的路径会看起来更短,并且更容易阅读它们。