Boss Nass
Boss Nass

Reputation: 3522

rails rbenv: rails: command not found

I have recently moved from RVM to Rbenv and when attempting to execute rails I am getting an error like the one below

Pauls-Air:~ $ rails
rbenv: rails: command not found

The `rails' command exists in these Ruby versions:
  2.1.2

Upvotes: 39

Views: 49939

Answers (8)

Evgeny Mikhaylov
Evgeny Mikhaylov

Reputation: 56

The problem is that your global ruby version doesn't match your installed somewhere locally version which is 2.1.2. Try executing anywhere in bash shell:

rbenv global 2.1.2

That way rails will be found by rbenv in your $HOME directory and anywhere else.

rbenv global

Sets the global version of Ruby to be used in all shells by writing the version name to the ~/.rbenv/version file. This version can be overridden by an application-specific .ruby-version file, or by setting the RBENV_VERSION environment variable.

Upvotes: 0

Aditya Sharma
Aditya Sharma

Reputation: 21

Like for example if you want to install Ruby 2.5.3 with Rails 6 follow this way:-rbenv global 2.5.3

$ gem update --system

$ rbenv install 2.5.3

$ rbenv global 2.5.3

$ gem install rails -v 6.0.2.2

$ ruby -v

$ rails -v

Upvotes: 2

Asyraf
Asyraf

Reputation: 657

For me, I set up my environment with the listed "The `rails' command exists in these Ruby versions".

$ rbenv shell 2.1.2
$ rails -v

It works.

Upvotes: 1

Mohsin Mahmood
Mohsin Mahmood

Reputation: 3436

Ensure that the .ruby-version file in your project's directory contains the same ruby version as the one you installed with rbenv.

Upvotes: 1

brugobi
brugobi

Reputation: 257

Try to set up your environment with 2.1.2 version running this command line in your terminal:

$ rbenv shell 2.1.2

It works to me

Upvotes: 3

Bob
Bob

Reputation: 49

I ran into the same issue, but none of these other solutions (or any of the others I found elsewhere) worked. I was about to go back to RVM, so I decided to get rid of rbenv completely and it paved the way to the solution.

Try the following - it worked for me:

  1. uninstalling rbenv, remove all references rbenv in your bash profile, and remove the remaining rbenv file folder and its contents.

  2. Reinstall rbenv with homebrew.

  3. Add it back to your bash profile:

    export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"
    eval "$(rbenv init -)"
    
  4. Restart the shell:

    exec $SHELL -l
    
  5. Check the path:

    echo $PATH
    
  6. Install Rails:

    gem install rails
    
  7. rbenv rehash

Note: I consulted this for part of this answer: https://www.codementor.io/tips/3732499178/solution-for-rbenv-rails-is-not-currently-installed-on-this-system-to-get-the-latest-version-simply-type

Upvotes: 4

Klaus
Klaus

Reputation: 1771

After installing a gem via the command line in a ruby version you have to execute rbenv rehash as described in the docs here and here

For example:

$ rbenv install 2.2.0
$ gem install bundler
$ rbenv rehash
$ gem install rails
$ rbenv rehash

Upvotes: 119

quilligana
quilligana

Reputation: 251

You need to install Rails for each Ruby version within rbenv. Try running rbenv version, I might expect that 2.1.2 is not the ruby version in use for the current project (local version) or maybe your global version.

Upvotes: 13

Related Questions