激活的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.lock
有rake 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