27

I am using rbenv with ruby version 1.9.1-p378 on the local dir.

Command ruby -v gives the following error:

rbenv: ruby: command not found

The `ruby' command exists in these Ruby versions:
2.0.0-p353

Any clue why this happens? The bundle, rails commands do not work either.

Command rbenv versions :

* 1.9.1-p378 (set by /home/user/Desktop/r1/noko1/.ruby-version)
2.0.0-p353
Lawrence DeSouza
  • 984
  • 5
  • 16
  • 34

7 Answers7

43
  1. The complaint you get comes from rbenv. The fact that it's complaining shows that rbenv is set up and working.

  2. Figure out what version of Ruby is needed to run the project. Either the project comes with a .ruby-version file in the root, or someone on the project will know and recommend that version to use.

  3. If the version is not specified in a .ruby-version file, create the .ruby-version file in the project directory.

  4. type ruby -v while in that directory. Is it OK? Then you have the version of Ruby installed that matches what your .ruby-version is asking for.

  5. If the last command was not OK, then type rbenv install.

Now that Ruby is installed, you need to run your program. I'm assuming it comes with a Rakefile.

  1. install the bundler tool: gem install bundler.

  2. install the dependancies of the project: bundle install

  3. run your project using the exact versions of libraries it specifies: bundle exec rails server

Mark Bolusmjak
  • 23,606
  • 10
  • 74
  • 129
  • I'm trying to run an application that is giving me problems when i try to run it with 2.0.0. Something about rbconfig/config. That's why I'm trying to use it with 1.9.1. It is also using rails 2.3.2, which I gather from the gemfile of the app. However the rails command also does not work... – Lawrence DeSouza Jan 22 '14 at 06:55
  • 1
    I have made step by step instructions. Let me know how it goes. – Mark Bolusmjak Jan 22 '14 at 16:40
  • Yes! Thanks, [rbenv install] to get rubygems working - and then [gem install bundler] were big helps. However I had about 4 or 5 other things to fix including adding [gem rdoc] to the gemfile and installing a few other required gems like sqlite, etc, and finally downgrading the rubygems version again in order to use ./script/server start for rails 2.3.2 ; but after all that it WORKS! Thanks a bundle – Lawrence DeSouza Jan 22 '14 at 21:53
  • For those still running into this issue, try and close your terminal first and trying again. Worked for me. – justinpage Aug 31 '14 at 04:43
22

Try the following piece of code depending on the current version of rails that you have installed. In my case am using v2.3.3

rbenv global 2.3.3
Thengugi
  • 321
  • 2
  • 4
  • As someone who is completely unfamiliar with Ruby, this is the only thing that has worked for me, – joe Jan 20 '17 at 16:13
  • I had to do this to tell rbenv what version of ruby to use. Insert whatever version you installed using rbenv install x.y[.z] (in my case 2.7.0). Now ruby -v works as expected – randmin Oct 30 '20 at 15:50
2

Even setting global or local doesn't work if you haven't set this

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
exec $SHELL
Tasdik Rahman
  • 2,160
  • 1
  • 25
  • 37
1

Even there is correct answer above, but it is not clear for my first check, so give a complete answer as a summarize based on z5h and Thengugi's answer. After setup and install ruby using rbenv as below (I installed 2.5.0):

rbenv install 2.5.0

You also need set it as the default version in your OS (CentOS for me):

rbenv global 2.5.0
zhihong
  • 1,808
  • 2
  • 24
  • 34
0

It seems you need to rbenv install the ruby version you want to use, since only 2.0.0-p353 is available. See rbenv help.

Conner
  • 30,144
  • 8
  • 52
  • 73
0

Please make gem as a global using rbenv global ruby-version.

Naeem Ahmed
  • 216
  • 1
  • 6
0

I had the same issue rbenv: ruby: command not found and it was eventually solved by removing the rbenv-bundler plugin. This plugin is considered harmful and removing it is as simple as rm -rf $RBENV_ROOT/plugins/bundler then run rm -rf $(rbenv root)/shims && rbenv rehash