Ruby
在 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 和許多其他軟體,也許它改變了路徑。
無論如何,我已經嘗試繼續安裝,所以我建構了 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,而不是我編譯的那個。謝謝。
UPS:
這是我的內容
~/.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
在終端啟動時沒有得到“來源”。什麼會導致這種情況?
在你的
~/.bash_profile
:PATH=/usr/local/bin:/opt/local/bin:/opt/local/sbin:$PATH
MacPorts 已經在更改您
$PATH
在該文件中的內容,因此請在此處進行修改(MacPorts 是/opt/local
樹)
你應該認真考慮Homebrew