rake资产:在Windows 8上的rails 3.2.8中预编译失败

时间:2012-11-26 17:31:57

标签: javascript jquery ruby-on-rails ruby-on-rails-3 rake

当我们的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,它们在启动应用程序时工作正常。什么可能导致这种失败?感谢。

2 个答案:

答案 0 :(得分:3)

我建议您尝试使用rubyracer gem来代替execjs过去的经验。

或者,尝试从Gemfile中注释掉jquery-railsjquery-ui-rails个宝石,看看这些是否会导致您出现问题。您始终可以将jqueryjquery-ui直接放入资产中。

答案 1 :(得分:1)

问题是execjs在Windows 8上不起作用。这是关于如何修复Windows 8的execjs运行时的post。但是这个修复程序似乎不适用于资产:预编译。我们可能不得不等待更新windows 8的execjs。