我已经使用hombrew安装了ruby 1.9.3
酿造安装红宝石
但是仍使用默认1.8.7。如何切换osx以使用1.9.3作为默认红宝石?
Answers:
我建议您看看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
相反,你需要检查哪.profile
,.bashrc
或.bash_login
正在在你的shell加载,只需添加/usr/local/bin
到您的路径。
对我来说,我只有一个.profile
。如果主目录中不存在这些文件,则可以创建该文件。
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
brew upgrade git
,但是版本没有改变。原来我从来没有使用过酿造版)
简短答案:
通过自制软件安装ruby后,只需执行以下操作:
brew link --overwrite ruby
并重新启动或重新打开终端
长答案
所以我使用自制软件正常安装了ruby
brew install ruby
安装好的但它仍在使用系统的默认红宝石。我通过以下方法验证了这一点:
which ruby
#/usr/bin/ruby
因此,按照Matthew Rudy的建议,我检查了/ etc / paths的顺序,一切都很好。
然后我决定去做:
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 --version
将显示一个过时的版本。
hash -r
?
如果您想使用自制软件安装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
我也有类似情况。我使用Homebrew安装了ruby。which -a ruby
给了我以下输出:
#usr/local/bin/ruby
#/usr/bin/ruby
这意味着应该使用新安装的版本,但是 ruby --version
仍返回旧系统版本。
我退出终端(Cmd + Q),并在重启后ruby --version
返回正确的版本。因此,请确保在安装后重新启动终端,然后再尝试其他(可能是不必要的)修补程序。
短: 请注意要更改的内容。
如果您使用的是OS X,并尝试将Ruby用于Jekyll之类的应用程序,则不要使用自制软件,因为这就是Apple所使用的Ruby,如果您不确定自己要使用的是什么,可能就不好用了。在做。而是使用rbenv或RVM。
更少的简短内容: 我正在尝试从默认版本切换到更新版本(从2.0版)以使用Jekyll,因为它需要Ruby 2.2.5及更高版本。我更新了它并安装了2.5版,但是当我选中“ ruby -v”时,它仍然是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.
就像其他寻求答案的人一样,您可以在.bash_profile中设置别名,例如
ruby="/usr/local/bin/ruby"
这就是我解决问题的方式