我在让Rake在我的机器上工作时遇到了问题。这只发生在从Rubygems安装的Rake版本(不是安装Debian的版本)。请参阅上文:
charlotte:~# which rake
/var/lib/gems/1.8/bin//rake
charlotte:~# rake
/var/lib/gems/1.8/bin/rake:17: undefined method `require_gem' for main:Object (NoMethodError)
charlotte:~# rake -v
/var/lib/gems/1.8/bin/rake:17: undefined method `require_gem' for main:Object (NoMethodError)
charlotte:~# gem -v
1.6.2
charlotte:~# ruby --version
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
charlotte:~# gem list | grep rake
rake (0.8.7)
charlotte:~# /usr/bin/rake
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2377:in `raw_load_rakefile'
(See full trace by running task with --trace)
charlotte:~#
答案 0 :(得分:0)
我认为你最近没有最新版本的耙子。第17行的Rake曾经有require_gem
,并且在过去几年的所有版本中都被gem
替换。找出$ GEM_HOME指向的位置,并且还要卸载Rake的发行版本。如果您的GEM_HOME不同(它可能是空的,可以),请从PATH中删除损坏的rake的路径并删除那些宝石。
还可以尝试在shell中运行gem environment
。总而言之,你在该路径中拥有的rake版本不是0.8.7,它更老了,我不认为rubygems会把你的宝石放在那里。