激活的Ruby RAKE 10.0.1,需要10.0.0

当我尝试运行“rake test”时出现此错误:

avery@ubuntu:~/rails_projects/depot$ rake test rake aborted! You have already activated rake 10.0.1, but your Gemfile requires rake 10.0.0. Using bundle exec may solve this. /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:31:in `block in setup' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:17:in `setup' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler.rb:116:in `setup' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/setup.rb:7:in `' /home/avery/rails_projects/depot/config/boot.rb:6:in `' /home/avery/rails_projects/depot/config/application.rb:1:in `' /home/avery/rails_projects/depot/Rakefile:5:in `' (See full trace by running task with --trace) 

当我尝试运行“捆绑exec rake”时,我得到:

 rake aborted! Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/execjs-1.4.0/lib/execjs.rb:5:in `' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/execjs-1.4.0/lib/execjs.rb:4:in `' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:68:in `require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:68:in `block (2 levels) in require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:66:in `each' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:66:in `block in require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:55:in `each' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler/runtime.rb:55:in `require' /home/avery/.rvm/gems/ruby-1.9.3-p327/gems/bundler-1.2.2/lib/bundler.rb:128:in `require' /home/avery/rails_projects/depot/config/application.rb:7:in `' /home/avery/rails_projects/depot/Rakefile:5:in `require' /home/avery/rails_projects/depot/Rakefile:5:in `' (See full trace by running task with --trace) 

我怎样才能解决这个问题?

您可能在Gemfile.lockrake 10.0.0

删除Gemfile.lock可能会解决问题。

对于问题的第一部分:我遇到了同样的问题并用以下方法解决了它:

 gem regenerate_binstubs 

之后

 gem -V 

再次显示10.0.0。

第一个查询的答案

在您的Gemfile ,显式设置最新的rake版本

 gem 'rake', '~> 10.0.1' 

然后跑

 $ bundle update rake 

第二个查询的答案

把它放在你的Gemfile并运行bundle install

 gem 'therubyracer' 

对于问题的第二部分,您只需将其添加到您的Gemfile:

 gem 'therubyracer' 

如果您在Gemfile中指定了项目所需的rake版本,例如:

 gem 'rake', '~> 10.0.0' 

尝试重新安装它

 bundle install