2016-04-26 47 views
0

我在生产服务器上预编译时遇到错误;但是,如果我将环境设置为生产并在开发计算机上运行预编译,它运行正常。怎么可能?耙子中止! ExecJS :: RuntimeError:(execjs):1

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

错误返回:

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

我有任何关于哪来来自的错误毫无头绪。

+1

我明白你说什么取决于人们更新宝石,但你有没有考虑过使用[Rails Assets](https://rails-assets.org/)?宝石是自动生成的,所以在技术上你不依赖于任何特定的维护者,并且你使用Bundler获得更新和所有其他宝石一样。 – taglia

+0

@taglia是的。你是对的。这是一个好方法。感谢注意人! – Jorge

+0

@taglia我确实将我的资产转换为rails-assets;但是,错误是由于生产服务器上的RAM内存不足而造成的。 – Jorge

回答

2

简单地说:我的生产服务器用完RAM内存。我把它提升到了1GB,现在它就像一个魅力!

+0

同上。我正在使用cap来部署一个rails应用程序,并发现我必须在运行部署前终止应用程序。只需在服务器上运行htop,看看你靠近最大RAM的距离。 – gamut

+0

不幸的是,即使是分段服务器,512mb也不行! – fatfrog

1

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

service nginx restart 

解决了这个问题。

相关问题