我正在尝试按照本教程,讨论在 Snow Leopard 上编译 ruby 和 rubygems 的主题:
http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard
我已将其添加到我的~/.profile
:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
但如果我写:echo $PATH
我会得到:
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
但在教程中它说:
您应该在系统返回的行开头看到 /usr/local/bin。
我之前安装了macports和许多其他软件,也许它已经改变了路径。
无论如何,我已经尝试继续安装,因此我已经构建了 ruby,我做了:
./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make
sudo make install
cd ..
但当我这样做时,which ruby
我得到:
/usr/bin/ruby
根据教程,这是错误的。而且如果我这样做,ruby -v
我会得到 Snow Leopard 上预装的旧版 ruby,而不是我编译的那个。
谢谢。
更新:
这是我的内容~/.profile
:
export PYTHONPATH="/Users/m/djangocode:$PYTHONPATH"
alias hibernateon="sudo pmset -a hibernatemode 5"
alias hibernateoff="sudo pmset -a hibernatemode 3"
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
我已删除~/.bash_profile
,所以没有影响。
以下是 的内容/etc/bashrc
:
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
和/etc/profile
:
# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi
我认为它们的内容是 Mac OS X 默认内容。我从未碰过这些内容。
如果我打开终端并输入echo $PATH
我仍然会得到:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
但如果我这样做,source ~/.profile
我就会得到我需要的:
misha-macbookpro:~ m$ . ~/.profile
misha-macbookpro:~ m$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
并且没有~/.bashrc
文件。
似乎~/.profile
在终端启动时没有“获取来源”。这是什么原因造成的?
答案1
在你的中设置如下内容~/.bash_profile
:
PATH=/usr/local/bin:/opt/local/bin:/opt/local/sbin:$PATH
MacPorts 已$PATH
在该文件中进行更改,因此请在那里进行修改(MacPorts 是/opt/local
树)
答案2
你应该认真考虑自制
答案3
Apple 的终端使用 ~/.bash_profile,而不是 .bashrc 或 .profile。是的,这有点烦人。