2012-06-28 16 views
5

Cuando corro bundle exec rake assets:precompile --trace, mi compilación previa falla, pero no puedo ver ninguna razón específica para ello.activos rastrillo precompilación fallaron

ver este Pastebin para mi salida: http://pastebin.com/zggZyPyM activos

+0

¿Tiene instalado un tiempo de ejecución de JavaScript? Me encontré con un error similar esta semana al tratar de precompilar los activos en una máquina virtual de Linux. – Zajn

+1

si la sugerencia de zajn no funciona, debe verificar su syslog. Precompilar los activos requiere una gran cantidad de memoria (más que "rieles") y es posible que el sistema operativo esté matando el proceso debido a eso. – rubish

+0

¡Ah! @rubish Tienes razón ... se está quedando sin memoria. – jasonlfunk

Respuesta

13

Precompilar toma una gran cantidad de memoria. ~ = 400mb en mi caso. Es posible que el sistema operativo esté matando el proceso debido al uso excesivo de la memoria. Puede verificar el registro del sistema para verificar si ese es el caso.

Puede aumentar la memoria de su servidor para evitar la situación. Si eso no es posible, sugeriría que precompile los activos en su sistema local, los comprometa con el repositorio y lo despliegue en el servidor. De esa forma no tendrías que compilar activos en tu servidor. Sin embargo, es posible que desee buscar maneras de eliminar los activos generados anteriormente de alguna manera y también automatizar el proceso.

2

, pero era cuestión resolvedI intentó instalar Node.js primero. Y luego, ejecutó el siguiente comando bundle exec rake assets:precompile. Solo entonces no noté el error.

Al principio, pensé que era debido a baja memoria también. Limpió casi todas las aplicaciones en ejecución, pero no pudo encontrar una solución. Además, abrí Ruby como administrador. No estoy seguro de si eso también ayudó, pero se resolvió el problema.

+0

La instalación de Node.js en Windows me solucionó este problema. FYI, esta [página] (http://ajacevedo.com/2013/using-node-js-as-a-rails-javascript-runtime/) tiene buena información sobre la configuración de env para usar Node.js – konyak

+0

add bundle exec worked para mi – Feuda

0

Este problema también se puede resolver mediante el uso de un Node.js JS tiempo de ejecución para precompilar activos, ya que al parecer tiene una huella de memoria inferior. Para Ubunutu 14.04 que necesitaba para funcionar apt-get install nodejs, vuelva a colocar el tiempo de ejecución js el valor por defecto en el Gemfile con gem 'node', ejecute bundle y, finalmente, volver a ejecutar la compilación previa. Le advierto sobre la precompilación en otra ubicación, ya que puede olvidarse de hacer esto después de un cambio de css o js, ​​lo que lleva a errores.

Cuestiones relacionadas