2013-02-20 32 views
19

Tôi gặp sự cố tương tự như nhiều người dùng khi biên dịch nội dung trên hộp sản xuất của họ. Sự khác biệt duy nhất là tôi không thể nhận được bất kỳ gợi ý nào trong số các dấu vết để giải quyết vấn đề."Lệnh không thành công với trạng thái()" khi biên dịch trước các tài sản

rake assets:precompile RAILS_ENV=production --trace 
** Invoke assets:precompile (first_time) 
** Execute assets:precompile 
/usr/local/rbenv/versions/1.9.3-p362/bin/ruby /usr/local/rbenv/versions/1.9.3-p362/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace 
** Invoke assets:precompile:all (first_time) 
** Execute assets:precompile:all 
** Invoke assets:precompile:primary (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke environment (first_time) 
** Execute environment 
** Invoke tmp:cache:clear (first_time) 
** Execute tmp:cache:clear 
** Execute assets:precompile:primary 
rake aborted! 
Command failed with status(): [/usr/local/rbenv/versions/1.9.3-p362/bin/r...] 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils.rb:53:in `block in create_shell_runner' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils.rb:45:in `call' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils.rb:45:in `sh' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `sh' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils.rb:80:in `ruby' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `ruby' 
/home/app/application/ruby/1.9.1/gems/actionpack-3.2.12/lib/sprockets/assets.rake:12:in `ruby_rake_task' 
/home/app/application/ruby/1.9.1/gems/actionpack-3.2.12/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task' 
/home/app/application/ruby/1.9.1/gems/actionpack-3.2.12/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:205:in `call' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:200:in `each' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:200:in `execute' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/task.rb:144:in `invoke' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:94:in `each' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rbenv/versions/1.9.3-p362/lib/ruby/1.9.1/rake/application.rb:63:in `run' 
/usr/local/rbenv/versions/1.9.3-p362/bin/rake:32:in `<main>' 
Tasks: TOP => assets:precompile 

Có hiệu quả không có mã trạng thái, chỉ thất bại. Nó cũng không tạo ra bất kỳ sự khác biệt nào nếu tôi gọi trực tiếp rake hoặc qua số bundle exec.

Về môi trường debian hộp bóp với một cài đặt rbenv toàn cầu (/usr/local/rbenv như bạn có thể nhìn thấy từ dấu vết). Ruby 1.9.3 2012-12-25 patchlevel 362.

Bất kỳ gợi ý/ý tưởng nào về điều này?

Trả lời

18

Tôi sẽ tự mình trả lời vì tôi có thể giải quyết nhiều hơn hoặc ít hơn. Nếu ai đó có bổ sung, đừng ngần ngại viết câu trả lời của riêng mình hoặc nhận xét câu trả lời/câu hỏi này.

Những gì tôi đã phát hiện ra cho đến nay:

Nếu bạn chơi xung quanh với assets:precompile bởi ví dụ như chỉ biên soạn các tài sản chính (assets:precompile:primary) hoặc dứt khoát gọi assets:precompile:all bạn có thể kết thúc với một gợi ý về nguồn vấn đề của bạn. Trong trường hợp của tôi, tôi chạy vào Errno::EACCES trên cả hai public/tmp/. Bằng cách nào đó mà không được hiển thị, vì vậy hãy chắc chắn rằng người dùng của bạn có đầy đủ quyền để tạo/xóa các tập tin và thư mục ở đó.

Trong trường hợp của tôi, đôi khi nó hoạt động vì tôi đã tắt ứng dụng đường ray và được biên dịch trước khi xuống. Kể từ khi biên dịch trước phân bổ rất nhiều bộ nhớ, tôi đã làm một số thử nghiệm và lỗi và cuối cùng đã nhận được thông báo Killed được biết đến khi rake cố gắng thực hiện asstes:precompile:primary. Nhiệm vụ đơn giản bị giết vì sử dụng quá nhiều bộ nhớ.

Một vấn đề khác là sprockets không thể tìm thấy bootstrap để đặt nó vào đường dẫn nội dung trên biên dịch trước. Di chuyển gem 'bootstrap' bên ngoài số group :assets đã giải quyết vấn đề này. Đây cũng là điều tôi đã ám chỉ khi tôi chơi với các lệnh.

Cách tốt nhất để giải quyết - hoặc tốt hơn: làm việc xung quanh - vấn đề này chỉ đơn giản là biên dịch nội dung của bạn cục bộ. Chỉ cần ném rake assets:precompile RAILS_ENV=development vào thiết bị đầu cuối của bạn và sau đó triển khai public/assets. Hãy nhớ xóa thư mục đó trong môi trường phát triển của bạn sau khi triển khai nó hoặc bạn sẽ kết thúc gỡ lỗi về lý do thay đổi của bạn trên app/assets/* không có hiệu lực trong phát triển. Ít nhất là công trình cho tôi (tm).

Ngoài ra, việc tăng phân vùng trao đổi của bạn cũng có thể hoạt động. Tuy nhiên, biên dịch trên VPS mà bạn cần sử dụng swap có thể mất thời gian của nó, vì vậy tôi sẽ dính vào cách địa phương.

+0

Bạn đã đúng trên về quá trình bị giết bởi hệ điều hành – rainkinz

6

Tôi cũng gặp vấn đề tương tự. Tôi đã sửa lỗi bằng cách thêm hoán đổi (trong trường hợp 1gb của tôi cho 512RAM có sẵn trên máy chủ của tôi)

Các vấn đề liên quan