2012-01-04 52 views

回答

81

我建议你看看rvm。 然后您可以将其设置为默认值rvm use 1.9.3 --default

但是,如果您对自制软件安装感到满意。

然后,只需更改目录的优先级在PATH

这里是我的/ etc /路径

# homebrews should always take precedence 
/usr/local/bin 

# the default stack 
/usr/bin 
/bin 
/usr/sbin 
/sbin 

这是很重要的通常为自制,否则混帐,红宝石,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

相反,你需要检查的.profile.bashrc,或.bash_login这被加载在你的shell,并且只需添加/usr/local/bin到你的路径。我只有.profile。如果您的主目录中没有这些文件,您可以创建该文件。

# homebrews should always take precedence 
export PATH=/usr/local/bin:$PATH 
+0

最后我选rbenv,以前也用过rvm。 – 2012-01-05 09:25:54

+0

很酷。无论如何,我建议你对/ etc/path进行更改。我曾经得到奇怪的错误(例如,我会'升级git',但版本没有变化,原来我从来没有使用brew版本) – 2012-01-05 13:39:14

+19

谢谢你提供了一个实际的答案,而不仅仅是说“use RVM”。并不是每个人都可以使用RVM,而且我讨厌当顶级答案告诉OP做一些他们没有要求做的事时。 – bricker 2012-07-14 06:51:31

38

如果您想使用自制安装1.9.3,您可以按照下列步骤操作:

$ brew update 
$ brew install rbenv 
$ brew install ruby-build 

一旦你有rbenv和红宝石建造安装,可以运行下面的命令安装Ruby 1.9.3。

$ rbenv install 1.9.3-p125 

现在,如果你想默认使用1.9.3,您可以运行以下命令:

$ rbenv global 1.9.3-p125 
+0

源链接现已停用 – 2015-02-17 19:47:20

+2

在OS X 10.11以上不起作用。系统继续使用旧版本,而不是使用rbenv install 1.9.3-p125/rbenv global 1.9.3-p125 – 2016-08-21 21:01:39

+0

“rbenv global 1.9.3-p125”安装/设置的默认版本 - 此行保存了我的晚。谢谢! – tieorange 2016-10-12 21:20:10

-1

就像为别人寻找一个答案,这另一种方法 - 你可以在你的.bash_profile e中设置一个别名。摹

ruby="/usr/local/bin/ruby" 

这是我得到了解决这个问题

37

简短的回答:

通过自制软件安装Ruby后,只是这样做:

brew link --overwrite ruby 

,并重新启动或重新开启终端  


长的答案

所以,我没有使用自制

brew install ruby 

所安装精细红宝石的正常安装,但它仍然使用系统默认的红宝石。 我做验证:

which ruby 
#/usr/bin/ruby 

所以按照马修·鲁迪的建议,我检查顺序的我的/ etc /路径,一切都很好。

于是,我决定做:

which -a ruby 
#/usr/bin/ruby 
#usr/local/bin/ruby 

因此没有被打破这样。 试图再次使用自制方法重新安装红宝石,然后我发现它。

家酿提到:

Warning: ruby-2.3.1 already installed, it's just not linked 

所以不得不这样做:

brew link --overwrite ruby 
+10

不要忘记重新启动iTerm实例,否则'ruby --version'会显示一个过时的版本。 – dialex 2016-08-22 09:11:10

4

我有类似的情况。我使用Homebrew安装了ruby。 which -a ruby给了我下面的输出:

#usr/local/bin/ruby 
#/usr/bin/ruby 

这意味着,新安装的版本应该被使用,但仍然ruby --version返回的旧系统版本。

我退出了终端(Cmd + Q),重启后ruby --version返回了正确的版本。因此,请确保在安装之后重新启动终端,然后尝试其他任何(可能不必要的)修复。

+0

谢谢。这个对我有用。 – WenT 2016-07-14 17:30:28

0

在OSX则可以使用更改路径:

须藤纳米/等/路径

,然后添加路径或更改顺序。