答案 0 :(得分:86)
我建议你看看rvm。
然后,您可以使用rvm use 1.9.3 --default
但如果您对自制软件安装感到满意。
然后只需更改PATH
这是我的/ etc / paths
# homebrews should always take precedence
/usr/local/bin
# the default stack
/usr/bin
/bin
/usr/sbin
/sbin
这对于自制软件来说很重要,否则系统版本的git,ruby,pg_admin,...都将被用来代替brew版本。
如果您说which -a ruby
,您会看到所有已安装的红宝石,以及PATH
例如
$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby
<小时/> 更新:我现在认为你不应该改变
/etc/paths
相反,您需要检查shell中正在加载.profile
,.bashrc
或.bash_login
中的哪一个,并将/usr/local/bin
添加到您的路径中。
对我来说,我只有.profile
。如果主目录中不存在这些文件,则可以创建该文件。
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
答案 1 :(得分:51)
简短回答:
在通过自制软件安装ruby后,只需执行以下操作:
brew link --overwrite ruby
然后重新启动或重新打开终端
LONG ANSWER
所以我使用自制软件正常安装了ruby
brew install ruby
安装得很好但仍然使用系统的默认红宝石。 我通过这样做验证了:
which ruby
#/usr/bin/ruby
根据Matthew Rudy的建议,我检查了/ etc / paths的顺序,一切都很好。
然后我决定这样做:
which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby
因此没有任何事情被打破。 尝试使用自制程序方法再次重新安装ruby,然后我找到了它。
Homebrew提到:
Warning: ruby-2.3.1 already installed, it's just not linked
所以必须这样做:
brew link --overwrite ruby
答案 2 :(得分:43)
如果您想使用自制软件安装1.9.3,可以按照以下步骤操作:
$ brew update
$ brew install rbenv
$ brew install ruby-build
一旦安装了rbenv和ruby-build,就可以运行以下命令来安装Ruby 1.9.3。
$ rbenv install 1.9.3-p125
现在,如果您希望默认使用1.9.3,则可以运行以下命令:
$ rbenv global 1.9.3-p125
答案 3 :(得分:5)
which -a ruby
给了我以下输出:
#usr/local/bin/ruby
#/usr/bin/ruby
这意味着应该使用新安装的版本,但ruby --version
仍然返回旧的系统版本。
我退出终端(Cmd + Q),重启后ruby --version
返回正确的版本。因此,在尝试任何其他(可能不必要的)修复之前,请确保在安装后重新启动终端。
答案 4 :(得分:3)
Ruby 由 Homebrew 在 /usr/local/opt/ruby
安装。因此,我们需要将此路径添加到 bash
或 Zsh
。
# Type this to find out which shell you're using (e.g., bash, Zsh)
echo $SHELL
# If you're using Bash (e.g., echo $SHELL returns /bin/bash)
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
# If you're using Zsh
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
然后,获取文件
# E.g., if you're using bash
source ~/.bash_profile
最后验证ruby的版本
ruby -v
答案 5 :(得分:1)
<强> SHORT:强> 请注意您想要更改它的内容。
如果您使用OS X并尝试将Ruby用于像Jekyll这样的东西,那么请不要使用自制软件,因为这是Apple用于Ruby的东西,它可能不太好用如果您不确定自己在做什么,请使用。相反,请使用rbenv或RVM。
少一点 我试图从默认版本切换到更新版本(从2.0)到使用Jekyll,因为它需要Ruby 2.2.5及更高版本。我更新了它并安装了2.5版,但是当我检查&#34; ruby -v&#34;时它仍然是2.0。一旦我最终改变了默认版本,我就无法安装我需要的软件包,因为我没有写入权限。例如,如果你遇到类似这样的事情,那么你可能遇到了同样的问题
$ gem install jekyll bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
答案 6 :(得分:0)
在OSX中,您可以使用以下方式更改路径:
sudo nano / etc / paths
然后添加路径或更改顺序。
答案 7 :(得分:-2)
作为寻找答案的其他人的替代方法 - 您可以在.bash_profile中设置别名,例如
ruby="/usr/local/bin/ruby"
这就是我解决问题的方法