2012-06-28 21 views
5

Quando eseguo bundle exec rake assets:precompile --trace, la mia precompilazione non riesce ma non riesco a vedere alcun motivo specifico.precompilazione delle risorse del rake non riuscita

Vai a questa pastebin per la mia uscita: http://pastebin.com/zggZyPyM beni

+0

Avete installato un runtime javascript? Ho riscontrato un errore simile questa settimana durante il tentativo di pre-compilare le risorse su una macchina virtuale Linux. – Zajn

+1

se il suggerimento di zajn non funziona, dovresti controllare il tuo syslog. Le risorse di precompilazione richiedono molta memoria (più delle "rotaie") e potrebbe essere possibile che il sistema operativo stia uccidendo il processo a causa di ciò. – rubish

+0

Ah! @rubish Hai ragione ... a corto di memoria. – jasonlfunk

risposta

13

precompilazione prende un sacco di memoria. ~ = 400mb nel mio caso. Potrebbe essere possibile che il sistema operativo stia uccidendo il processo a causa dell'eccessivo utilizzo della memoria. È possibile controllare il syslog per verificare se questo è il caso.

È possibile aumentare la memoria del server per evitare la situazione. Se ciò non è possibile, suggerirei di precompilare le risorse sul sistema locale, impegnarle sul repository e distribuirle sul server. In questo modo non dovrai compilare risorse sul tuo server. Tuttavia, si potrebbe voler esaminare in che modo eliminare le risorse generate in precedenza in qualche modo e anche automatizzare il processo.

2

, ma il problema è stato risolto. Ho provato prima a installare node.js. E poi, ha eseguito il seguente comando bundle exec rake assets:precompile. Solo allora non ho notato l'errore.

Inizialmente, ho pensato che fosse anche a causa della memoria insufficiente. Pulito quasi tutte le applicazioni in esecuzione, ma non è riuscito a trovare una soluzione. Inoltre, ho aperto Ruby come amministratore. Non sono sicuro che sia stato d'aiuto, ma il problema è stato risolto.

+0

L'installazione di Node.js su Windows ha risolto questo problema per me. Cordiali saluti, questa [pagina] (http://ajacevedo.com/2013/using-node-js-as-a-rails-javascript-runtime/) ha buone informazioni sull'impostazione di env per utilizzare Node.js – konyak

+0

aggiungere pacchetto exec lavorato per me – Feuda

0

Questo problema può essere risolto anche utilizzando un runtime JS node.js per precompilare le risorse poiché apparentemente ha un footprint di memoria inferiore. Per Ubunutu 14.04 avevo bisogno di eseguire apt-get install nodejs, quindi sostituire il runtime js predefinito nel Gemfile con gem 'node', eseguire bundle e infine rieseguire il precompilatore. Vorrei mettere in guardia contro la precompilatura in un'altra posizione, poiché potresti dimenticarti di farlo dopo un cambio css o js, ​​che porta a errori.

Problemi correlati