Reputation:
Why am I receiving this Rake error:
$ rake --version
/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rake (>= 0) amongst [] (Gem::LoadError)
from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake:18:in `<main>'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
given that the following is the case:
$ gem list
*** LOCAL GEMS ***
bundler (1.1.3)
rake (0.9.2.2)
rubygems-bundler (1.0.2)
rvm (1.11.3.3)
$ which rake
/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake
Specifically: is this error message stemming from a bug, or from a configuration problem (and if the latter, then which steps might remedy it)?
Update: additional terminal output as requested:
$ which gem
/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin/gem
$ whereis rake
/usr/bin/rake
$ echo $PATH # I've edited the output as one item per line for easier reading
/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin:
/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global/bin:
/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin:
/Volumes/Data/sampablokuper/.rvm/bin:
/opt/local/bin:
/opt/local/sbin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/texbin:
/usr/X11/bin:
/usr/local/git/bin:
/Library/Application Support/VMware Fusion:
/Volumes/Data/sampablokuper/bin:
/Volumes/Data/sampablokuper/.rvm/bin
$ type rvm | head -n1
rvm is a function
$ rvm info
ruby-1.9.3-p194:
system:
uname: "Darwin spksmb.lan 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386"
bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
zsh: "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"
rvm:
version: "rvm 1.14.3 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]"
updated: "9 hours 36 minutes 53 seconds ago"
ruby:
interpreter: "ruby"
version: "1.9.3p194"
date: "2012-04-20"
platform: "x86_64-darwin10.8.0"
patchlevel: "2012-04-20 revision 35410"
full_version: "ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0]"
homes:
gem: "/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194"
ruby: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194"
binaries:
ruby: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin/ruby"
irb: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin/irb"
gem: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin/gem"
rake: "/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake"
environment:
PATH: "/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin:/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global/bin:/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/bin:/Volumes/Data/sampablokuper/.rvm/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/usr/local/git/bin:/Library/Application Support/VMware Fusion:/Volumes/Data/sampablokuper/bin"
GEM_HOME: "/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194"
GEM_PATH: "/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194:/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global"
MY_RUBY_HOME: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194"
IRBRC: "/Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/.irbrc"
RUBYOPT: ""
gemset: ""
Upvotes: 2
Views: 7878
Reputation:
It looks as though the problem was occurring because of the presence, in the directory from which I was executing the commands shown in the question, of a file called Gemfile
with the following contents:
source 'https://rubygems.org'
gemspec
Deleting or renaming that file yields the following (yay!):
$ rake --version
rake, version 0.9.2.2
By contrast, keeping the Gemfile, but deleting or renaming the myproject.gemspec
file from the directory yields this:
$ rake --version
/Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dsl.rb:48:in `gemspec': There are no gemspecs at /Volumes/Data/spikes/myproject. (Bundler::InvalidOption)
from /Volumes/Data/spikes/myproject/Gemfile:4:in `evaluate'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dsl.rb:7:in `instance_eval'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dsl.rb:7:in `evaluate'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/definition.rb:18:in `build'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler.rb:135:in `definition'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler.rb:123:in `load'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.0.3/lib/rubygems-bundler/noexec.rb:41:in `candidate?'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.0.3/lib/rubygems-bundler/noexec.rb:60:in `setup'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.0.3/lib/rubygems-bundler/noexec.rb:75:in `<top (required)>'
from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:9:in `<main>'
The fact that the behaviour of rake --version
is so strongly influenced by the presence/absence/contents of these files does strike me as a bug, and I'll be filing a bug report accordingly.
Upvotes: 1
Reputation: 1985
The 'whereis' binary checks a set of system default paths set by the user.cs_path variable (see sysctl -a | grep user.cs_path
) and NOT the actual $PATH variable. So the 'rake' location reported will always be whatever happens to be in that set of paths and not the actual one in use, unless that truly does happen to be the only rake installed on the system and thus not showing up in $PATH.
Please run
which rake
to see which rake is actually being used. If it reports /usr/bin/rake and not some path such as /Users/me/.rvm/gems/ruby-1.9.3-p194@global/bin/rake then definitely something is wrong.
Please include
rvm info
output and make sure that
type rvm | head -n1
reports "rvm is a function". If it is reporting anything other than that, your install is messed up, in which case you should remove your rvm install using rvm implode
, logging out completely, and then doing a complete reinstall of RVM. Yes, the logout step is important.
Upvotes: 1