如何在Mac OSX Yosemite中将Ruby Version 2.0.0更新到最新版本?

Chu*_*haC 350 ruby version

我需要将我的ruby版本从2.0.0更新到最新版本,我不能使用一些宝石,因为我的版本没有更新.我曾经用Homebrew安装Ruby,我怎样才能更新我的Ruby版本?

Abh*_*ara 652

打开终端并运行

curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
Run Code Online (Sandbox Code Playgroud)

完成后,您需要重新启动终端才能使rvm命令生效.

现在,跑 rvm list known

这显示了ruby的版本列表.

现在,跑 rvm install ruby@latest

如果您输入ruby -v终端,您应该看到ruby X.X.X.

如果它仍然显示你ruby 2.0.,请运行rvm use ruby-X.X.X --default.

  • 这适用于Mac OS以安装RVM:`\ curl -sSL https://get.rvm.io | bash -s stable --ruby` (69认同)
  • 记得在第一个命令后重启终端! (14认同)
  • 2.4是最新的稳定版:rvm install ruby​​-2.4.0 (7认同)
  • 管道卷曲输出直接执行是一个等待发生的安全噩梦. (6认同)
  • 2.2.0不是Ruby的最新版本. (3认同)

Ser*_*rco 203

只用Brew解决方案

更新:

从评论(荣誉到Maksim Luzik),我没有测试,但似乎是一个更优雅的解决方案:

通过brew安装ruby后,运行以下命令更新指向最新ruby安装的链接: brew link --overwrite ruby

原始答案:

晚到派对,但使用brew就足够了.没有必要安装rvm,对我来说这只是复杂的事情.

通过brew install ruby你实际安装最新的(目前v2.4.0).但是,您的路径首先找到2.0.0.为了避免这种情况,只需更改优先级(来源).我通过更改~/.profile和设置来完成此操作:

export PATH=/usr/local/bin:$PATH

在此之后,我发现bundler gem仍在使用2.0.0版本,只需再次安装: gem install bundler

  • 或者在通过brew安装ruby之后,运行以下命令来更新最新ruby安装的链接:`brew link --overwrite ruby​​` (8认同)
  • 如果您的 Mac 拒绝链接 ruby​​,请尝试“brew link --overwrite ruby​​ --force”。这对我有用。 (4认同)
  • 这工作,安装后需要做"source~/.bash_profile" (3认同)
  • @MaksimLuzik的解决方案不适用于MacOS。`brew link --overwrite ruby​​`导致`警告:拒绝链接macOS提供的软件:ruby` (3认同)
  • 正是我在寻找,谢谢.如果我是一个红宝石开发者,那么rvm会有意义,但我不是,所以这是完美的. (2认同)
  • 而不是“覆盖”ruby版本,你可以只写“brew unlink ruby​​ && brew link ruby​​” (2认同)

SoA*_*Man 95

我推荐rbenv*https://github.com/rbenv/rbenv

*如果符合您的标准:https://github.com/rbenv/rbenv/wiki/Why-rbenv?:

rbenv 做...

  • 为指定特定应用程序的Ruby版本提供支持.
  • 让您基于每个用户更改全局Ruby版本.
  • 允许您使用环境变量覆盖Ruby版本.

与RVM相比,rbenv 没有......

  • 需要加载到你的shell中.相反,rbenv的垫片方法通过添加目录来实现$PATH.
  • 覆盖shell命令cd或者需要提示黑客攻击.这很危险且容易出错.
  • 有一个配置文件.除了要使用哪个版本的Ruby之外,没有什么可配置的.
  • 安装Ruby.您可以自己构建和安装Ruby,也可以使用ruby-build来自动化该过程.
  • 管理gemsets. Bundler是管理应用程序依赖性的更好方法.如果您有尚未使用Bundler的项目,则可以安装 rbenv-gemset插件.
  • 需要更改Ruby库以实现兼容性.rbenv的简单性意味着只要它在你的内容中$PATH, 没有 其他东西需要知道它.

安装

安装Homebrew http://brew.sh

然后:

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

# Add rbenv to bash so that it loads every time you open a terminal
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

更新
brew install rbenv运行之后还有一个额外的步骤,rbenv init.bash_profile在其状态下添加一行.之后重新打开终端窗口[...] SGI 9月30日12:01 - /sf/users/8383931/

$ rbenv install --list
Available versions:
 1.8.5-p113
 1.8.5-p114
 […]
 2.3.1
 2.4.0-dev
 jruby-1.5.6
 […]
$ rbenv install 2.3.1
[…]

设置全局版本:

$ rbenv global 2.3.1
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

通过添加.ruby-version到repo的根目录来设置repo的本地版本:

$ cd ~/whatevs/projects/new_repo
$ echo "2.3.1" > .ruby-version

对于MacOS,请访​​问此链接

  • 没有帮助.在`rbenv global ...之后仍然获得`ruby -v`的标准2.0.0版本 (16认同)
  • 在"brew install rbenv"运行`rbenv init`之后还有一个额外的步骤,并在它所声明的情况下向.bash_profile添加一行.在重新打开终端窗口后,执行`rbenv install 2.3.1`,`rbenv global 2.3.1`和rbenv将完成其工作 (8认同)
  • 可能迟到但是对于遇到与@tuxSlayer相同问题的人的未来参考,`rbenv global`之后的`rbenv rehash`为我工作 (6认同)
  • @ChuchaC没问题.但在此之前,这是来自rbenv自述文件:_"兼容性说明:rbenv与RVM不兼容.请确保在安装rbenv之前完全卸载RVM并从shell初始化文件中删除对它的任何引用." - https://github.com/rbenv/rbenv#installation_ (3认同)
  • 在`rbenv init`之后,`ruby -v`输出正确的版本2.1.2,但是bundle运行会遇到一些错误,例如`paperclip-5.0.0.beta1需要ruby版本> = 2.1.0,这与当前版本不兼容版本,ruby 2.0.0p648`.最后设法让它运行`rbenv rehash`.谢谢@Sean (2认同)

小智 49

开放式终端:

sudo gem update --system 
Run Code Online (Sandbox Code Playgroud)

有用!

  • 这是宝石而不是红宝石 (7认同)
  • 这似乎确实有效,并且比其他答案更直接.但是当安装一些宝石时(例如听)他们抱怨版本低于要求. (3认同)
  • 我也被这个答案误导了.它"有效",因为从控制台运行它时不会产生任何错误.但是,它不会更新Ruby.它更新了Ruby Gems.按照其他答案之一更新Ruby(使用OS X Sierra). (2认同)

fat*_*han 33

快速将ruby升级到v2.4 +

brew upgrade ruby
Run Code Online (Sandbox Code Playgroud)

  • 这似乎做了很多东西,但升级ruby不是其中之一.它终止于:`/usr/local/Homebrew/Library/Homebrew/brew.rb:12:''<main>':Homebrew必须在Ruby 2.3下运行!你正在运行2.0.0.(RuntimeError)` (4认同)
  • 对我不起作用。`错误:执行 gem 时 ... (Errno::EPERM) 不允许操作 @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem` (3认同)

jul*_*oup 27

您可以通过查看https://www.ruby-lang.org/en/downloads/指定最新版本的ruby

  1. 获取最新版本:

    curl -sSL https://get.rvm.io | bash -s stable --ruby

  2. 安装它:

    rvm install 2.2

  3. 将其用作默认值:

    rvm use 2.2 --default

或者从ruby运行最新的命令:

rvm install ruby --latest
rvm use 2.2 --default
Run Code Online (Sandbox Code Playgroud)


Moj*_*ini 14

\xe2\x9c\x85 2023 年工作方法:

\n

使用 Homebrew 升级:

\n
brew upgrade ruby\necho \'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"\' >> ~/.zshrc\nbrew link --overwrite ruby\n
Run Code Online (Sandbox Code Playgroud)\n

然后重新启动终端(确保终止所有实例,退出并再次打开)

\n

然后ruby -v检查是否链接正确。

\n
\n

推荐后续行动:

\n

这不是必需的,但您可以在升级 Ruby 后运行以下命令来更新 gem 文件:

\n
gem update --system 3.4.2\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x9a\xa0\xef\xb8\x8f 当您升级 Ruby 安装时,上述版本可能会更改。请使用安装 Ruby 后报告的正确版本。

\n


小智 11

使用:

brew install rbenv ruby-build

将rbenv添加到 Bash,以便每次打开终端时都会加载它:

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

链接到源页面


Zum*_*med 5

如果您已经Brew安装了Mac OS,则可以尝试执行以下命令,

brew upgrade ruby
Run Code Online (Sandbox Code Playgroud)