在Mac OS X Snow Leopard上编译Ruby

我正试图按照这个教程,在雪豹编译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,还有很多其他的软件,可能已经改变了path

无论如何,我已经试图进行安装,所以我build立了ruby,我做了:

 ./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1 make sudo make install cd .. 

但是当我做了我得到的which ruby

 /usr/bin/ruby 

而根据教程是错误的。 另外,如果我做ruby -v我得到了雪豹预装的老版本的ruby,而不是我编译的。

谢谢。

UPD:

这是我的~/.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的默认设置。 我从来没有碰过这些。

如果我打开terminal并inputecho $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在terminal启动时没有得到“sourced”。 什么可以导致?

~/.bash_profile设置这样的内容:

 PATH=/usr/local/bin:/opt/local/bin:/opt/local/sbin:$PATH 

MacPorts已经在改变你的$PATH在那个文件,所以在那里进行修改(MacPorts是/opt/local树)

你应该认真考虑自制

苹果的terminal使用〜/ .bash_profile,而不是.bashrc或.profile。 是的,它有点烦人。