Reputation: 5383
I need to update my Ruby version from 2.0.0 to the latest version. I can not use some gems because my version is not updated. I had used Homebrew to install Ruby some time ago. How can I update my Ruby version?
Upvotes: 537
Views: 800769
Reputation: 2734
This works for me.
sudo gem update --system
If above command give error of ruby version then follow below steps.
Note I have choose ruby 3.3.6 version from list
brew install rbenv
rbenv init
rbenv install --list
rbenv install 3.2.6
ruby -v
If not showing version please close terminal and open again and hit
ruby -v
- if still not showing then hit below global command
rbenv global 3.2.6
rbenv rehash
If not showing version please close terminal and open again and hit
ruby -v
Then you can install particular cocoa pod version
sudo gem install cocoapods -v 1.15.2
Upvotes: 2
Reputation: 4298
From the comments (kudos to Maksim Luzik), what seems like a more elegant solution:
After installing Ruby through brew, run the following command to update the links to the latest Ruby installation:
brew link --overwrite ruby --force
Reopen a terminal to reset zshrc.
Check the installlation with ruby --version
and gem --version
, then run gem install bundler
.
Using brew is enough. It's not necessary to install rvm and for me it just complicated things.
By brew install ruby
you're actually installing the latest (currently v2.4.0). However, your path finds 2.0.0 first. To avoid this just change precedence (source). I did this by changing ~/.profile
and setting:
export PATH=/usr/local/bin:$PATH
After this, I found that the bundler gem was still using version 2.0.0. Just install it again: gem install bundler
Upvotes: 349
Reputation: 119108
Upgrade using Homebrew:
brew upgrade ruby
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
brew link --overwrite ruby
Then restart the Terminal (make sure you terminate all instances, quit and open again)
Then ruby -v
to check if it linked correctly.
It's not required, but you can run the following after upgrading Ruby to update gem files:
gem update --system 3.4.2
⚠️ The above version may be changed when you have upgraded your Ruby installation. Please use the correct version as reported after the installation of Ruby.
Upvotes: 22
Reputation: 2769
You can use the steps mentioned in How to install Ruby in a macOS for local development.
It worked great for me on macOS v13.3.1 (Ventura) (a) (22E772610a).
Upvotes: 0
Reputation: 19446
I ended up using the steps below due to React Native 0.70 and macOS v12 (Monterey).
brew install ruby
Edit .zshrc:
open -e ~/.zshrc
Set the $PATH environment variable. Add this at the end of your ~/.zshrc file. On Mac Intel:
if [ -d "/usr/local/opt/ruby/bin" ]; then
export PATH=/usr/local/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
eval "$(rbenv init -)"
fi
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
eval "$(rbenv init -)"
fi
Don't want Homebrew to update your version? Then:
brew pin ruby
Upvotes: 4
Reputation: 8832
A fast way to upgrade Ruby to v2.4+
brew upgrade ruby
or
sudo gem update --system
Upvotes: 66
Reputation: 3396
I recommend rbenv* https://github.com/rbenv/rbenv
* If this meets your criteria: https://github.com/rbenv/rbenv/wiki/Why-rbenv?:
rbenv does…
- Provide support for specifying application-specific Ruby versions.
- Let you change the global Ruby version on a per-user basis.
- Allow you to override the Ruby version with an environment variable.
In contrast with RVM, rbenv does not…
- Need to be loaded into your shell. Instead, rbenv's shim approach works by adding a directory to your
$PATH
.- Override shell commands like
cd
or require prompt hacks. That's dangerous and error-prone.- Have a configuration file. There's nothing to configure except which version of Ruby you want to use.
- Install Ruby. You can build and install Ruby yourself, or use ruby-build to automate the process.
- Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install the rbenv-gemset plugin.
- Require changes to Ruby libraries for compatibility. The simplicity of rbenv means as long as it's in your
$PATH
, nothing else needs to know about it.
Install Homebrew http://brew.sh
Then:
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
Output:
Available versions:
1.8.5-p113
1.8.5-p114
[…]
2.3.1
2.4.0-dev
jruby-1.5.6
[…]
And:
rbenv install 2.3.1
Set the global version:
rbenv global 2.3.1
ruby -v
Output:
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
If you are not showing the updated version then
rbenv rehash
Set the local version of your repository by adding .ruby-version
to your repository's root directory:
cd ~/whatevs/projects/new_repo
echo "2.3.1" > .ruby-version
For OS X, visit this link.
Upvotes: 141
Reputation: 10121
Open your terminal and run
curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
For the rvm
command to work, you need to run:
source ~/.rvm/scripts/rvm
Now, run rvm list known
This shows the list of versions of the Ruby interpreter.
Now, run rvm install ruby@latest
to get the latest Ruby version.
If you type ruby -v
in the terminal, you should see ruby X.X.X
.
If it still shows you ruby 2.0.
, run rvm use ruby-X.X.X --default
.
Prerequisites for Windows 10:
make
command available otherwise it will complain that "bash: make: command not found". You can install it by running mingw-get install msys-make
Upvotes: 943
Reputation: 29
The simplest way is definitely to enter the following command in the terminal:
sudo gem update --system
You can add the flag --no-document
if you do not want to download the documentation. Here is sample output after running the command:
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
Upvotes: -3
Reputation: 767
Use:
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 2.6.5
rbenv global 2.6.5
ruby -v
Link to the source page.
Upvotes: 13
Reputation: 720
In case of the error “Requirements installation failed with status: 1.”, here's what to do:
Install Homebrew (for some reason it might not work automatically) with this command:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then proceed to install rvm again using
curl -sSL https://get.rvm.io | bash -s stable --ruby
Quit, reopen Terminal, and then:
rvm install 2.2
rvm use 2.2 --default
Upvotes: 3
Reputation: 3092
You can specify the latest version of Ruby by looking at Download Ruby.
Fetch 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
Or run the latest command from ruby:
rvm install ruby --latest
rvm use 2.2 --default
Upvotes: 49