我需要将我的Ruby版本从2.0.0更新到最新版本。由于我的版本没有更新,我无法使用一些gem。 我以前使用Homebrew安装了Ruby。我该如何更新我的Ruby版本?
curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
rvm
命令生效,您需要运行以下命令:source ~/.rvm/scripts/rvm
现在,在终端中运行rvm list known
这将显示Ruby解释器的版本列表。
现在,运行rvm install ruby@latest
以获取最新的Ruby版本。
如果您在终端中键入ruby -v
,您应该会看到ruby X.X.X
。
如果仍然显示ruby 2.0.
,请运行rvm use ruby-X.X.X --default
。
Windows 10的先决条件:
make
命令必须可用,否则会报错“bash: make: command not found”。您可以通过运行mingw-get install msys-make
进行安装。\curl -sSL https://get.rvm.io | bash -s stable --ruby
。 - zed根据评论(感谢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
。 - Maksim Luzikbrew link --overwrite ruby
命令会出现警告:“Warning: Refusing to link macOS-provided software: ruby”。 - Rafael Beckelbrew link --overwrite ruby --force
命令。这对我很有效。 - Prasannjeet Singh安装 Homebrew http://brew.sh
然后:
brew update
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
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]
rbenv rehash
.ruby-version
到您的版本库根目录中:cd ~/whatevs/projects/new_repo
echo "2.3.1" > .ruby-version
rbenv global ...
命令后,仍然得到标准的2.0.0版本,没有得到帮助。 - tuxSlayerbrew install rbenv
后还需要进行一步操作,运行 rbenv init
并像指示的那样在 .bash_profile
中添加一行。之后重新打开终端窗口,执行 rbenv install 2.3.1
、rbenv global 2.3.1
,然后 rbenv 就会开始工作。 - SGIrbenv global
命令之后执行rbenv rehash
命令可以解决此问题。 - Seanrbenv init
后,ruby -v
输出了正确的版本 2.1.2,但是运行 bundle 时遇到了一些错误,例如 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。 - James打开终端:
sudo gem update --system
它有效!
rubygems-update 需要 Ruby 版本 >= 2.3.0。
ERROR: While executing gem ... (NoMethodError)
undefined method `version' for nil:NilClass
- ciurlarobrew 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)
- nkoren错误:执行gem时...(Errno :: EPERM) 操作不允许@ rb_sysopen- /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
- Sébastien LoiselFetch the latest version:
curl -sSL https://get.rvm.io | bash -s stable --ruby
Install it:
rvm install 2.2
Use it as default:
rvm use 2.2 --default
或者从Ruby运行最新的命令:
rvm install ruby --latest
rvm use 2.2 --default
rbenv
的解决方案没有起作用。 - tuxSlayerrbenv
的解决方案没有起作用。 - ruoho ruotsisource ~/.bash_profile
才能使用 rvm
。 - Sahith Vibudhi使用:
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
链接到源页面。
使用Homebrew进行升级:
brew upgrade ruby
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
brew link --overwrite ruby
ruby -v
检查是否链接正确。
虽然不是必需的,但在升级 Ruby 后,您可以运行以下命令来更新 gem 文件:
gem update --system 3.4.2
如果出现错误“安装要求失败,状态为1。”,以下是需要执行的步骤:
使用以下命令安装Homebrew(由于某些原因,它可能无法自动工作):
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
curl -sSL https://get.rvm.io | bash -s stable --ruby
退出,重新打开终端,然后执行以下操作:
rvm install 2.2
rvm use 2.2 --default
which rvm
或which rbenv
时会发生什么? - MageeWorldbrew install ruby
就足够了。在这里检查。 - Venugopal