137

I am getting this error while running server, how do I fix this?

enter image description here

Emile Bergeron
  • 17,074
  • 5
  • 83
  • 129
unknown
  • 1,460
  • 2
  • 12
  • 15
  • I don't know if you have already fixed this issue but if not, please read this article . https://makandracards.com/makandra/21545-rbenv-how-to-switch-to-another-ruby-version-temporarily-per-project-or-globally – CHRIS LEE Dec 13 '17 at 14:36
  • Does this answer your question? [Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0](https://stackoverflow.com/questions/23039528/your-ruby-version-is-2-0-0-but-your-gemfile-specified-2-1-0) – Karl Knechtel Jan 18 '23 at 08:23

22 Answers22

180

You better install Ruby 2.2.5 for compatibility. The Ruby version in your local machine is different from the one declared in Gemfile.

If you're using rvm:

rvm install 2.2.5
rvm use 2.2.5

else if you're using rbenv:

rbenv install 2.2.5
rbenv local 2.2.5

else if you can not change ruby version by rbenv, read here

Tan Nguyen
  • 3,281
  • 1
  • 18
  • 18
  • Backward compatibility is not an issue, I think. If it were the opposite (Gemfile specifying 2.3.0 and only 2.2.5 installed) we would have some issues, for sure. – Ed de Almeida Jun 20 '16 at 05:22
  • @EddeAlmeida what if I don't want to change the Gemfile? Like it's a project with multiple people? Or an open-source project – Emile Bergeron Dec 20 '16 at 02:50
  • Then install Ruby 2.2.5, create a private bundle for your app and go ahead, @EmileBergeron. – Ed de Almeida Dec 20 '16 at 02:55
  • 2
    These situations are exactly the reasons why I always suggest people to have a separate bundle to each application. – Ed de Almeida Dec 20 '16 at 02:58
  • 1
    I was having an issue between the local version of Ruby and the versions of Ruby that Heroku allows. I'm new-ish ro Ruby, Rails, and RVM, so this took me a bit to figure out. Thanks a TON, Tan. Specifically, no other answer I found in a couple hours of poking around mentioned the rvm use command. – Henry Edward Quinn IV Jan 20 '17 at 15:24
  • this caused my mac to ask me to re install rails even though it's already installed "Rails is not currently installed on this system" – Ayrad May 17 '17 at 01:36
  • rbenv install - doesn't work, install isn't a supported command. – mr-sk Jun 27 '17 at 16:26
  • I tried the above on rbenv and it didn't work for me. Turns out I was using rvm and not rbenv although both were installed. Make sure you upgrade the right ruby version manager' ruby version – Saurav Prakash Feb 21 '20 at 23:23
  • after having installed it, `rvm use 2.6.1` gives _Required ruby-2.7.0 is not installed._ :) how can I fix this ? – gordie Feb 27 '20 at 22:33
  • This may be off topic for some users but I had to do these commands as well. `rvm get stable --auto-dotfiles` then `bundler update --bundler` ... and then, I could use `rvm use 3.0.0` again, without errors/warnings – floer32 Mar 02 '21 at 07:05
  • In my case adding correct paths (`$HOME/.rbenv/shims` and `$HOME/.rbenv/bin`) to my .zshrc fixed the problem. Thanks @Tan – Dmitry May 28 '21 at 22:09
69

If you have already installed 2.2.5 and set as current ruby version, but still showing the same error even if the Ruby version 2.3.0 is not even installed, then just install the bundler.

gem install bundler

and then:

bundle install
Tarique
  • 4,017
  • 1
  • 26
  • 25
  • 8
    This is it right here! Because if you installed bundler before installing and setting your ruby version, calling `bundle check` or `bundle install` will still be referencing the ruby environment that was used for installing `bundler` originally. Cheers! – Joshua Pinter Oct 11 '18 at 05:09
  • 10
    Btw, I also had to do `rbenv rehash` after reinstalling bundler. – Joshua Pinter Oct 11 '18 at 05:10
  • 2
    Wow, I'd expect a missing gem error message then... anyway, thx! – Pengő Dzsó Jan 09 '20 at 19:07
  • @Tarique I still get the same error after running the suggested commands – java_geek Apr 07 '21 at 06:06
  • @java_geek It's better to install and switch the ruby version (2.2.5) using rvm or rbenv as already suggested by Tan. Also, make sure to change the desired ruby version in the ".ruby-version" file. Thanks. – Tarique Apr 25 '21 at 17:06
  • I installed v2.7.5 using rvm but was getting the same error. Followed the above command and it worked – Musthafa Jul 22 '22 at 06:54
49

If you are using rbenv then make sure that you run the "rbenv rehash" command after you set local or global ruby version. It solved the issue for me.

rbenv rehash
kahcv
  • 636
  • 5
  • 7
31

Your Gemfile has a line reading

ruby '2.2.5'

Change it to

ruby '2.3.0'

Then run

bundle install
Ed de Almeida
  • 3,675
  • 4
  • 25
  • 57
14

Had same issue. I'm using rbenv and which ruby would show the rbenv version:

/Users/Mahmoud/.rbenv/shims/ruby

which bundle though would show:

/usr/local/bin/bundle

After looking in every possible place, turns out my problem was that I needed to update path in ~/.zshrc in addition to ~/.bash_profile (where I originally had the changes)

if you're running zsh add those two lines in ~/.zshrc (or the equivalent file) in addition to ~/.bash_profile

export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

After saving, quit terminal and relaunch before retrying. Hopefully this would help.

mrateb
  • 2,317
  • 5
  • 27
  • 56
7

Two steps worked for me:

gem install bundler

bundle install --redownload # Forces a redownload of all gems on the gemfile, assigning them to the new bundler
Kaka Ruto
  • 4,581
  • 1
  • 31
  • 39
6

I had this problem but I solved it by installing the version of the ruby that is specified in my gem file using the RVM

    rvm install (ruby version)

After the installation, I use the following command to use the the version that you installed.

    rvm --default use (ruby version)

You have to install bundler by using the following command in order to use the latest version

    gem install bundler 

After the above steps, you can now run following command to install the gems specified on the gemfile

    bundle install
6

A problem I had on my Mac using rbenv was that when I first set it up, it loaded a bunch of ruby executables in /usr/local/bin - these executables loaded the system ruby, rather than the current version.

If you run

which bundle

And it shows /usr/local/bin/bundle you may have this issue.

Search through /usr/local/bin and delete any files that start with #!/user/bin ruby

Then run

rbenv rehash

Mike
  • 87
  • 1
  • 2
3

it can also be in your capistrano config (Capfile):

set :rbenv_ruby, "2.7.1"
Dorian
  • 7,749
  • 4
  • 38
  • 57
2

Add the following to your Gemfile

ruby '2.3.0'
blnc
  • 4,384
  • 1
  • 28
  • 42
1

I am on Mac OS Sierra. I had to update /etc/paths and add /Users/my.username/.rbenv/shims to the top of the list.

villy393
  • 2,985
  • 20
  • 28
1

If you have some dependency on the version of the Ruby , then install the appropriate version. otherwise change the version in the gemfile in the current directory.

rbenv install <required version>
rbenv local <required version>

Even after installation it was showing the same error for me, so I just restart the mac, then do the bundle install, it works :)

it should show something like this

   <user>@<repo>% rbenv versions 
      system
    * 2.3.7 (set by <app>)
arpit1714
  • 543
  • 6
  • 8
1

Nothing above worked for me.

My issue was : Your Ruby version is 3.2.1, but your Gemfile specified 2.7.6.

Below Solution worked for me :

  1. Open project on VSCode
  2. Click around 11th option (=ruby-version) On the left side menu
  3. Change the current version to your current version (3.2.1) or whatever your ruby version is.
  4. in terminal run command cd iOS
  5. then run command bundle install
  6. then run pod install
  7. Sometimes pod will give error about installing boost, so run pod install again, just keep repeating the command until it install everything successfully.

Your app is ready to run smoothly.

ruud
  • 743
  • 13
  • 22
jahanzai6
  • 11
  • 2
0

Refer the below link to install the required version.

https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b

$ \curl -sSL https://get.rvm.io | bash
rvm install 2.7.1
Anupam Chaplot
  • 1,134
  • 1
  • 9
  • 22
0

run:

rbenv global

if old version then run: 1)

brew update

brew install ruby-build 2) brew install rbenv 3) rbenv install 2.7.5 4) rbenv init 5) rbenv shell 2.7.5 6) eval "$(rbenv init - zsh)"

list commands for rbenv - run simple:

rbenv

dazn311
  • 123
  • 1
  • 4
0

you can install simple way. Install rbenv On macOS with Homebrew.

  1. brew install rbenv ruby-build
  2. vi ~/.zshrc // open
  3. eval "$(rbenv init - zsh)" // paste it
  4. rbenv install 3.1.2
  5. Close your Terminal window and open a new one so your changes take effect.
Siddhartha Mukherjee
  • 2,703
  • 2
  • 24
  • 29
0

Really simple answer, better for teams with different versions of ruby, I would guess (good for development, maybe for high performance teams this isn't a good idea!). Change it to

ruby ">=2.2.5"
user3413723
  • 11,147
  • 6
  • 55
  • 64
0

You better install Ruby 2.2.5 for compatibility. The Ruby version in your local machine is different from the one declared in Gemfile and then run:

rvm use 2.2.5

0

In my case i was not able to update my ruby version and rvm and rbenv didnt helped and it created lot of mess in envrionment variables, instead use this below solution, This worked for me:

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" or use this link to install Homebrew - https://brew.sh/

  • brew install ruby follow the steps shown in terminal, i.e. echo path_shown_in_terminal and source path_shown_in_terminal

then just do ruby -v to check latest ruby version.

-1

For $ Your Ruby version is 2.3.0, but your Gemfile specified 2.4.1. Changed 2.4.1 in Gemfile to 2.3.0

-1

I install rvm and rbenv it not help me so i go the project and open Gemfile change the ruby version with recommend version and than follow the command cd ios -> bundle install

Your project is ready to Run now.

-1

Open Gemfile and find ruby '2.2.5'

Change it to

ruby '2.3.0'

then install bundle