我需要将我的ruby版本从2.0.0更新到最新版本,我不能使用一些宝石,因为我的版本没有更新。 我曾经用Homebrew安装Ruby,我怎样才能更新我的Ruby版本?
答案 0 :(得分:598)
打开终端并运行
curl -sSL https://get.rvm.io | bash -s stable
完成此操作后,需要重新启动终端才能使rvm
命令生效。
现在,运行rvm list known
这显示了ruby的版本列表。
现在,运行rvm install ruby-2.4.2
如果您在终端中输入ruby -v
,则应该看到ruby 2.4.2
。
如果它仍然显示ruby 2.0.
,请运行rvm use ruby-2.4.2 --default
。
答案 1 :(得分:182)
<强>更新强>
从评论(荣誉到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
答案 2 :(得分:92)
我建议 rbenv * https://github.com/rbenv/rbenv
*如果符合您的条件:https://github.com/rbenv/rbenv/wiki/Why-rbenv?:
rbenv 确实......
- 支持指定特定于应用程序的Ruby版本。
- 让您基于每个用户更改全局Ruby版本。
- 允许您使用环境变量覆盖Ruby版本。
与RVM相比,rbenv 不...
- 需要加载到您的shell中。相反,rbenv的shim方法可以通过向
$PATH
添加目录来实现。- 覆盖
cd
等shell命令或要求提示黑客。这很危险且容易出错。- 拥有配置文件。除了您要使用的Ruby版本之外,没有什么可配置的。
- 安装Ruby。您可以自己构建和安装Ruby,或使用ruby-build自动化 这个过程。
- 管理gemsets。 Bundler是管理应用程序依赖关系的更好方法。如果您有项目 还没有使用Bundler你可以安装 rbenv-gemset插件。
- 需要更改Ruby库以实现兼容性。 rbenv的简单性意味着只要它在
$PATH
中, nothing else需要了解它。
<强>安装强>
安装 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 - https://stackoverflow.com/users/119770 击>
$ 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的根目录来设置您的仓库的本地版本:
$ cd ~/whatevs/projects/new_repo $ echo "2.3.1" > .ruby-version
对于MacOS,请访问此link
答案 3 :(得分:45)
打开终端:
sudo gem update --system
有效!
答案 4 :(得分:23)
您可以通过查看https://www.ruby-lang.org/en/downloads/
指定最新版本的ruby获取最新版本:
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
答案 5 :(得分:21)
快速将ruby升级为 v2.4 +
的方法brew upgrade ruby
答案 6 :(得分:5)
如果您安装了Mac OS,并且安装了Brew
,则可以尝试执行以下命令,
brew upgrade ruby
答案 7 :(得分:2)
如果有人遇到同样的错误:“要求安装失败,状态为:1。”这里是做什么的:
使用此命令安装Homebrew(由于某种原因可能无法自动运行):
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后使用
继续安装rvmcurl -sSL https://get.rvm.io | bash -s stable --ruby
退出并重新打开终端,然后:
rvm install 2.2
rvm use 2.2 --default
答案 8 :(得分:2)
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
答案 9 :(得分:0)
在终端:rvm gemset use global
答案 10 :(得分:0)
如果您使用的是 mac,请使用 rvm 安装您特定版本的 ruby。见https://owanateamachree.medium.com/how-to-install-ruby-using-ruby-version-manager-rvm-on-macos-mojave-ab53f6d8d4ec
确保您遵循所有步骤。这对我有用。
答案 11 :(得分:-3)
最简单的方法是在终端输入以下命令:
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