我正在尝试使用 Homebrew 安装 Ruby 1.9。我使用的是 Mac OS X Lion,因此默认安装的是 Ruby 1.8.7。
我已经安装了 Homebrew /usr/local/bin/brew
(如果我运行“which brew”,它就会显示这个信息)
它似乎正在使用位于的 Ruby /usr/bin/ruby
(再次来自“哪个 ruby”)
我读过很多建议说我应该对路径变量做些什么;我的做法是这样的:
在 /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/bin/brew
我哪里错了?为什么不使用 Homebrew 版本的 Ruby?
答案1
Bash 检查 $PATH 中的所有文件夹,查找第一个包含您要查找的应用程序的文件夹。
在某些文件(~/.profile
,,~/.bashrc
~/.bash_profile will be a line adding
/usr/local/bin`)中添加至您的 $PATH。它看起来像这样:
export PATH=$PATH:/usr/local/bin
将顺序更改为
export PATH=/usr/local/bin:$PATH
现在,操作系统将会研究/usr/local/bin/
并使用来自 homebrew 的 ruby,而不是系统原生的 ruby。
答案2
如果您打算使用 ruby ,请考虑使用 Rvm (或 rbenv) Rvm 主页
然后:
brew update
\curl -sSL https://get.rvm.io | bash -s stable
按照提示中的说明进行操作(您需要获取一些脚本),例如“source ~/.rvm/scripts/...”
rvm list # this list all rubies instaled
rvm use 2.3.1 # this set env on ruby version you want to use
这样,你将拥有一个完整的生态系统,其中包含根据 ruby 的版本划分的 ruby gems。例如:
~/.rvm/rubies/2.1.0/gem/toto.rb
~/.rvm/rubies/2.1.0/gem/tata.rb
~/.rvm/rubies/2.3.0/gem/toto.rb
~/.rvm/rubies/2.3.0/gem/tata.rb
然后所有依赖关系都得到满足,一切顺利,您可以随时使用 rvm 使用 2.x 切换 ruby 版本。所有版本的 ruby 都将基于家庭,并可以使用 rvm 安装,如果您想定期使用 ruby,这是一个很棒的工具。如果您想使用框架 (Rails),可以通过将 --rails 附加到先前的 curl 命令来安装,如下所示:
\curl -sSL https://get.rvm.io | bash -s stable --rails
Mac 上的默认系统版本很奇怪(而且非常旧),也可以考虑使用 2.x 版本;)