Using ubuntu 10.04, rvm. At first, I’ve installed ruby 1.9.2 with rvm, gem rails and generated some new project and started it successfully. Everything was working fine. But after changing to another project, executing bundle install command (output looks OK) and starting rails server – error occurs:
rails s
/home/jacek/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/site_ruby/1.9.1/rubygems.rb:316:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin/rails:19:in `<main>'
gem list rails
*** LOCAL GEMS ***
rails (3.2.2)
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.18
- RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [i686-linux]
- INSTALLATION DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318
- RUBY EXECUTABLE: /home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
- EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/jacek/.rvm/gems/ruby-1.9.2-p318
- /home/jacek/.rvm/gems/ruby-1.9.2-p318@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
My Path (includes EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin )
/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin:/home/jacek/.rvm/gems/ruby-1.9.2-p318@global/bin:/home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin:/home/jacek/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
I would be grateful for any help
If you use the command
bundle installto install your gems off of aGEMFILE, it will install the gems into your default system location for gems, as outlined in the bundler docs here. After that, you can use bundlersbundle execcommand to execute a command in the context of the bundle, as outlined in the docs here. This will ensure that the version of the gem you installed usingbundle installis executed.If you look at the homepage for bundler, which provides an overview of the docs, it states the following:
I’m guessing that you run
gem which railsin your console, and then runbundle show railsin your console, the default installed rails installation for your system differs from the one installed for your bundle.You say that you are using
rvmfor yourrubyandgemmanagement. I’m thinking you may not have properly configured it. Trying executing thervm notescommand in your console to ensure that you have addressed all of the required/recommended steps for installation on your OS. You want to ensure that the executables forrvmare the first things included in your path when you runecho $PATHideally. This will ensure that the gems installed forrvmwill be the ones executed when you try executing them without prefixingbundle exec. Ifrvm notesdoesn’t give you the hints necessary to accomplish that, then try carefully reviewing the docs for installation on the RVM website.