耙中止! ExecJS::RuntimeError: (execjs):1

Posted

技术标签:

【中文标题】耙中止! ExecJS::RuntimeError: (execjs):1【英文标题】:rake aborted! ExecJS::RuntimeError: (execjs):1 【发布时间】:2016-08-19 16:00:50 【问题描述】:

在生产服务器上预编译时出现错误;但是,如果我将环境设置为 production 并在 development 计算机上运行预编译,它运行正常。怎么可能?

RAILS_ENV="production" bundle exec rake assets:precompile RAILS_GROUPS=assets

错误返回:

   ...
   rake aborted!
   ExecJS::RuntimeError:
   (execjs):1
   ...

我不知道错误来自哪里。

【问题讨论】:

我理解你所说的取决于更新宝石的人,但你有没有考虑过使用Rails Assets? gem 是自动生成的,因此从技术上讲,您不依赖任何特定的维护者,并且您可以使用 Bundler 获得更新,就像所有其他 gem 一样。 @taglia 是的。你说得对。这是一个很好的方法。谢谢你的笔记! @taglia 我确实将我的资产转换为 rails-assets;但是,错误在于生产服务器上的 RAM 内存不足。 【参考方案1】:

简单地说:我的生产服务器的 RAM 内存不足。我将它稍微提升到 1GB,现在它就像一个魅力!

【讨论】:

同上。我正在使用 cap 部署一个 rails 应用程序,发现我必须在运行部署之前终止该应用程序。只需在服务器上运行 htop ,看看你离最大化 RAM 有多近。 不幸的是,512mb 甚至对于临时服务器也行不通!【参考方案2】:

我遇到了同样的问题,重启服务器就解决了。

编辑

您还可以添加交换。这是一个很棒的教程https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

【讨论】:

【参考方案3】:

我遇到了同样的问题。我的服务器是 ngnix。使用命令重启后

service nginx restart

解决了问题。

【讨论】:

以上是关于耙中止! ExecJS::RuntimeError: (execjs):1的主要内容,如果未能解决你的问题,请参考以下文章

耙中止! TypeError: Parts 不是一个类

耙中止! :name:Symbol 的未定义方法“map”

ExecJS :: RuntimeError:SyntaxError:意外的令牌运算符

Ruby on Rails。捆绑器。黄瓜。耙中止!命令失败,状态为 (1)

耙中止! NameError: uninitialized constant even add :environment to task

耙子中止未定义的方法“每个”