Ruby on rails rake资产预编译失败

Ruby on rails rake资产预编译失败,ruby-on-rails,bundle,Ruby On Rails,Bundle,当我运行bundle exec rake assets:precompile--trace时,我的预编译失败了,但我看不到任何具体原因 有关我的输出,请参见此粘贴箱:预编译资产需要大量内存~=我的情况是400mb。可能是操作系统由于过度使用内存而终止了进程。您可以检查系统日志以验证是否存在这种情况 您可以增加服务器的内存以避免这种情况。如果不可能,我建议您在本地系统上预编译资产,将它们提交到repo并部署到服务器。这样,您就不必在服务器上编译资产。不过,您可能希望研究以某种方式删除以前生成的资产

当我运行bundle exec rake assets:precompile--trace时,我的预编译失败了,但我看不到任何具体原因


有关我的输出,请参见此粘贴箱:

预编译资产需要大量内存~=我的情况是400mb。可能是操作系统由于过度使用内存而终止了进程。您可以检查系统日志以验证是否存在这种情况


您可以增加服务器的内存以避免这种情况。如果不可能,我建议您在本地系统上预编译资产,将它们提交到repo并部署到服务器。这样,您就不必在服务器上编译资产。不过,您可能希望研究以某种方式删除以前生成的资产并使流程自动化的方法。

,但问题得到了解决,我尝试先安装node.js。然后,运行以下命令
bundle exec rake assets:precompile
。直到那时我才注意到错误


起初,我认为这也是因为内存不足。清理了几乎所有正在运行的应用程序,但找不到解决方案。另外,我以管理员的身份打开了Ruby。不确定这是否也有帮助,但问题已经解决。

这个问题也可以通过使用node.js运行时来预编译资产来解决,因为它显然具有较低的内存占用。对于Ubunutu 14.04,我需要运行
apt get install nodejs
,然后将
gem文件中的默认js运行时替换为
gem'node'
,运行
bundle
,最后重新运行预编译。我要提醒您不要在其他位置进行预编译,因为在css或js更改后,您可能会忘记进行预编译,从而导致错误。

您是否安装了javascript运行时?本周,我在尝试在linux虚拟机上预编译资产时遇到了类似的错误。如果zajn的建议不起作用,您应该检查您的系统日志。预编译资产占用大量内存(比“rails”还多),操作系统可能因此扼杀了进程。啊@鲁比什你是对的。。。内存不足。@jasonlfunk作为答案发布。请接受。在windows上安装Node.js为我解决了这个问题。仅供参考,这有关于设置env以使用Node.js的好信息