سؤال

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
هل كانت مفيدة؟

المحلول

  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

نصائح أخرى

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

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

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

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.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top