【问题标题】:rake aborted! ExecJS::RuntimeError: (execjs):1耙中止! 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 内存不足。

标签: jquery ruby-on-rails asset-pipeline sprockets maskedinput


【解决方案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
    

    解决了问题。

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多