Answers:
打开终端并运行
curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
完成此操作后,您需要重新启动终端才能使rvm
命令起作用。
现在开始 rvm list known
这显示了红宝石的版本列表。
现在,运行rvm install ruby@latest
以获取最新的红宝石版本。
如果输入ruby -v
终端,则应看到ruby X.X.X
。
如果仍然显示您ruby 2.0.
,请运行rvm use ruby-X.X.X --default
。
\curl -sSL https://get.rvm.io | bash -s stable --ruby
更新:
从评论(对Maksim Luzik表示感谢),我还没有测试过,但似乎是一个更优雅的解决方案:
通过brew安装ruby之后,运行以下命令将链接更新到最新的ruby安装:
brew link --overwrite ruby
原始答案:
晚会晚了,但是使用brew绰绰有余。不必安装rvm,对我而言它只是复杂的事情。
通过brew install ruby
你在实际安装最新版本(V2.4.0目前)。但是,您的路径首先找到2.0.0。为了避免这种情况,只需更改优先级(source)。我通过更改~/.profile
和设置来做到这一点:
export PATH=/usr/local/bin:$PATH
此后,我发现bundler gem仍在使用2.0.0版,只需重新安装即可: gem install bundler
brew link --overwrite ruby
overwrite
红宝石版本,您可以编写brew unlink ruby && brew link ruby
brew link --overwrite ruby
导致Warning: Refusing to link macOS-provided software: ruby
我推荐rbenv * https://github.com/rbenv/rbenv
*如果这符合您的条件:https : //github.com/rbenv/rbenv/wiki/为什么使用rbenv?:
rbenv 确实...
- 提供对指定特定于应用程序的Ruby版本的支持。
- 让您按用户更改全局Ruby版本。
- 允许您使用环境变量覆盖Ruby版本。
与RVM相比,rbenv 不…
- 需要加载到您的外壳中。取而代之的是,rbenv的shim方法通过向目录中添加目录来工作
$PATH
。- 覆盖shell命令,例如
cd
或要求立即进行破解。这很危险,而且容易出错。- 有一个配置文件。除了要使用哪个版本的Ruby,没有其他配置。
- 安装Ruby。您可以自己构建和安装Ruby,也可以使用ruby-build自动化该过程。
- 管理宝石集。 Bundler是管理应用程序依赖项的更好方法。如果您有尚未使用Bundler的项目,则可以安装 rbenv-gemset插件。
- 需要更改Ruby库以获得兼容性。rbenv的简单性意味着只要它在您的手中
$PATH
, 其他任何信息 都不需要知道。
安装
安装Homebrew http://brew.sh
然后:
$ brew更新$ brew install rbenv$ brew install rbenv ruby-build #将rbenv添加到bash中,以便在每次打开终端时加载 回显'如果哪个rbenv> / dev / null; 然后评估“ $(rbenv init-)”; fi'>>〜/ .bash_profile 来源〜/ .bash_profile
更新
在brew install rbenv
“运行”之后还有另外一个步骤,rbenv init
并根据需要添加一行.bash_profile
。之后,重新打开您的终端窗口[…] SGI 9月30日12:01 — https://stackoverflow.com/users/119770
$ rbenv install --list 可用版本: 1.8.5-p113 1.8.5-p114 […] 2.3.1 2.4.0开发版 jruby-1.5.6 […] $ rbenv安装2.3.1 […]
设置全局版本:
$ rbenv全球2.3.1 $红宝石-v 红宝石2.3.1p112(2016-04-26修订版54768)[x86_64-darwin15]
通过添加.ruby-version
到仓库的根目录来设置仓库的本地版本:
$ cd〜/ whatevs / projects / new_repo $ echo“ 2.3.1”> .ruby-version
对于MacOS,请访问此链接
ruby -v
后rbenv global ...
brew install rbenv
运行后又需要执行另一步骤,rbenv init
并按要求将一行添加到.bash_profile中。之后,重新打开终端窗口,执行rbenv install 2.3.1
,rbenv global 2.3.1
并rbenv会做的工作
rbenv rehash
后,可能遇到了与@tuxSlayer相同的问题的人,可能很晚了,但可供将来参考rbenv global
rbenv init
,ruby -v
输出正确的版本2.1.2,但是捆绑运行遇到这样的错误paperclip-5.0.0.beta1 requires ruby version >= 2.1.0, which is incompatible with the current version, ruby 2.0.0p648
。最终设法使其运行正常rbenv rehash
。感谢@Sean
打开终端:
sudo gem update --system
有用!
将ruby升级到v2.4 +的快速方法
brew upgrade ruby
要么
sudo gem update --system
/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in '<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
您可以通过查看https://www.ruby-lang.org/en/downloads/指定红宝石的最新版本。
获取最新版本:
curl -sSL https://get.rvm.io | bash -s stable --ruby
安装它:
rvm install 2.2
默认使用它:
rvm use 2.2 --default
或者从ruby运行最新的命令:
rvm install ruby --latest
rvm use 2.2 --default
rbenv
无效
rbenv
如果您已经Brew
安装了Mac OS,则可以尝试执行以下命令,
brew upgrade ruby
brew install rbenv ruby-build
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
rbenv install 2.6.5
rbenv global 2.6.5
ruby -v
最简单的方法肯定是在终端中输入以下命令:
sudo gem update --system
--no-document
如果您不想下载文档,则可以添加标志。这是运行命令后的示例输出:
sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.6.8.gem (100%)
Successfully installed rubygems-update-2.6.8
Parsing documentation for rubygems-update-2.6.8
Installing ri documentation for rubygems-update-2.6.8
Installing darkfish documentation for rubygems-update-2.6.8
Installing RubyGems 2.6.8
RubyGems 2.6.8 installed
Parsing documentation for rubygems-2.6.8
Installing ri documentation for rubygems-2.6.8
------------------------------------------------------------------------------
RubyGems installed the following executables:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem
Ruby Interactive (ri) documentation was installed. ri is kind of like man
pages for ruby libraries. You may access it like this:
ri Classname
ri Classname.class_method
ri Classname#instance_method
which rvm
或which rbenv
在命令行中会发生什么