当我们的rails 3.2.8 app中的bundle exec rake assets:precompile
时,它失败并显示错误:
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
(in c:/D/code/rails_proj/biz-tools/app/assets/javascripts/application.js)
c:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:142:in `exec_runtime'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
...........
c:/Ruby193/bin/rake:23:in `<main>'
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [c:/Ruby193/bin/ruby.exe c:/Ruby193/bin/rak...]
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
application.js中只有两个datapicker,它们在启动应用程序时工作正常。什么可能导致这种失败?感谢。
答案 0 :(得分:3)
我建议您尝试使用rubyracer
gem来代替execjs
过去的经验。
或者,尝试从Gemfile中注释掉jquery-rails
或jquery-ui-rails
个宝石,看看这些是否会导致您出现问题。您始终可以将jquery
和jquery-ui
直接放入资产中。
答案 1 :(得分:1)
问题是execjs在Windows 8上不起作用。这是关于如何修复Windows 8的execjs运行时的post。但是这个修复程序似乎不适用于资产:预编译。我们可能不得不等待更新windows 8的execjs。