如何切换到ruby1.9.3安装使用Homebrew?
我已经安装ruby1.9.3使用Hombrew
brew安装ruby
但仍然使用默认的1.8.7。 如何切换osx使用1.9.3作为默认的ruby?
我build议你看看rvm 。 你可以使用rvm use 1.9.3 --default
将它设置为默认值
但是,如果你喜欢你的自制安装。
然后,只需改变PATH
的目录的优先级
这是我的/ etc /path
# 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
你会看到所有已安装的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
到您的path中。
对我来说,我只有一个.profile
。 如果您的主目录中没有这些文件,您可以创build该文件。
# homebrews should always take precedence export PATH=/usr/local/bin:$PATH
如果您想使用自制软件来安装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
简答题:
通过自制软件安装ruby后,只需要这样做:
brew link --overwrite ruby
并重新启动或重新打开您的terminal
很长的答案
所以我使用自制软件正常安装了ruby
brew install ruby
安装很好,但它仍然使用系统的默认ruby。 我通过这样做来validation:
which ruby #/usr/bin/ruby
所以按照马修·鲁迪的build议,我检查了我的/ etc /path的顺序,一切都很好。
然后我决定做:
which -a ruby #/usr/bin/ruby #usr/local/bin/ruby
所以没有什么是如此破碎。 试图用自制方法再次重新安装ruby,然后我发现它。
自制软件提到:
Warning: ruby-2.3.1 already installed, it's just not linked
所以不得不这样做:
brew link --overwrite ruby
我有类似的情况。 我用自制软件安装了ruby。 which -a ruby
给了我以下输出:
#usr/local/bin/ruby #/usr/bin/ruby
这意味着新安装的版本应该已经被使用了,但是ruby --version
仍旧返回旧的系统版本。
我退出terminal(命令+ Q),并重新启动后, ruby --version
返回正确。 因此,请确保在安装之后重新启动terminal,然后尝试其他任何(可能不必要的)修复。
在OSX中,您可以使用以下命令更改path:
sudo nano / etc /path
然后添加一个path或更改顺序。
就像其他人寻找答案的替代方法 – 你可以在你的.bash_profile中设置一个别名
ruby="/usr/local/bin/ruby"
这是我如何解决这个问题