Rails assets precompile: Segmentation Fault + Ruby 1.9.3p392
我正在使用 Capistrano 将一个简单的 Rails 应用程序部署到 SUSE 服务器。当下面的钩子执行时部署时
1 2 3 4 5 6 | after"deploy:update_code" do run <<-CMD cd #{current_release} && RAILS_ENV=#{rails_env} bundle exec rake assets:precompile --trace CMD end |
我得到以下长错误跟踪
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | servers: ["application_server.com"] [application_server.com] executing command *** [err :: application_server.com] ** Invoke assets:precompile (first_time) *** [err :: application_server.com] ** Execute assets:precompile *** [err :: application_server.com] /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby /opt/apps/myapplication.com/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=devutility RAILS_GROUPS=assets --trace *** [err :: application_server.com] *** [err :: application_server.com] /opt/apps/myapplication.com/shared/bundle/ruby/1.9.1/gems/therubyracer-0.11.4/lib/v8/init.so: *** [err :: application_server.com] [BUG] *** [err :: application_server.com] Segmentation fault *** [err :: application_server.com] ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux] *** [err :: application_server.com] -- Control frame information ----------------------------------------------- *** [err :: application_server.com] c:0054 *** [err :: application_server.com] p:-4755442 *** [err :: application_server.com] s:0156 b:0156 *** [err :: application_server.com] l:000155 *** [err :: application_server.com] d:000155 *** [err :: application_server.com] TOP *** [err :: application_server.com] *** [err :: application_server.com] c:0053 *** [err :: application_server.com] p:---- *** [err :: application_server.com] s:0154 b:0154 *** [err :: application_server.com] l:000153 *** [err :: application_server.com] d:000153 *** [err :: application_server.com] CFUNC *** [err :: application_server.com] :require *** [err :: application_server.com] *** [err :: application_server.com] c:0052 *** [err :: application_server.com] p:0035 *** [err :: application_server.com] s:0150 b:0150 *** [err :: application_server.com] l:000149 *** [err :: application_server.com] d:000149 *** [err :: application_server.com] TOP |
在我的 GIST https://gist.github.com/ankit8898/5051531 中找到完整的跟踪,并且 Gemfile 也存在于其中。
任何帮助都会非常有帮助。
我建议您从 Gemfile 中删除 therubyracer 并安装 node.js 作为您的 javascript 运行时,不要再担心了。
Therubyracer 往往很麻烦,消耗太多内存。
也许可以尝试之前版本的 therubyracer。在您的 Gemfile 中:
1 | gem 'therubyracer', '0.11.3' |