rbenv和MacPorts的路径位置

1 投票
1 回答
703 浏览
提问于 2025-04-17 08:00

我已经使用Python好几个月了,并且在我的Mac上通过MacPorts安装了Python和Git,设置在bash_login里,内容是:export PATH="opt/local/bin:/opt/local/bin/mysql5/bin:/opt/local/lib/postgresql90/bin:/usr/local/bin:/usr/local/sbin:$PATH"

今天我想试试Ruby,所以通过ruby-build安装了Rbenv和Ruby 1.9.2-p290。它在bash_profile里创建了一个路径,内容是:PATH="$HOME/.rbenv/bin:$PATH" 和 eval "$(rbenv init -)"

当我在终端里输入echo $PATH时,我的路径现在变成了:/Users/demet8/.rbenv/shims:/Users/demet8/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

现在我无法使用我的Python和Git了,因为系统在读取bash_profile文件时,优先读取了/usr/local/这个路径。

问题:我需要让opt/local/这个路径优先读取,这样我才能继续使用Python和Git。我是否应该删除bash_profile文件中Rbenv创建的内容,并把Rbenv的路径合并到我的bash_login路径里?

1 个回答

1

你应该把你的bash_profile文件中的所有路径合并在一起。macports的路径和rbenv的路径是不同的,但可以不冲突地放在一起。

我同时使用Macports、Python和Rbenv & Ruby。

我合并后的路径看起来是这样的:

/Users/user1/.rvm/gems/ruby-1.9.2-p290/bin:
/Users/user1/.rvm/gems/ruby-1.9.2-p290@global/bin:
/Users/user1/.rvm/rubies/ruby-1.9.2-p290/bin:
/Users/user1/.rvm/bin:/opt/local/bin:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
....

你也可以这样设置:

PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

撰写回答