【发布时间】:2015-09-21 03:39:06
【问题描述】:
我最近在我的 Rails 应用程序中更新了我的一个咖啡文件(使用 NodeJS 作为我的运行时),保存它后,我重新加载了页面并得到了 ExecJS::RuntimeError 页面。
所以我恢复到以前的状态,我仍然得到ExecJS::RuntimeError。
然后我运行rake assets:clean 和bundle exec rake tmp:clear 认为它只是被缓存的东西,如果我清除它一切都会好的。仍然得到 ExecJS::RuntimeError 页面。重新启动 Apache,然后重新启动服务器,仍然不行。
接下来我查看了日志,发现每次加载页面时都会收到此信息(运行abrt-cli list --since 1442790134):
reason: node killed by SIGSEGV time: Sun 20 Sep 2015 08:05:56 PM EDT cmdline: node /tmp/execjs20150920-17817-q0hw4js package: nodejs-0.10.36-3.el7
为了确保是 Turbolinks 造成的,我从应用程序布局模板的顶部取出了 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>,应用程序中的所有页面都加载得很好,只是没有 javascript。
我正在运行 CentOS 7、Ruby 2.0.0p598、Rails 4.2.0 和 NodeJS v0.10.36。
什么可能导致这种情况,我可以做些什么来阻止这种情况发生?
编辑:这似乎解决了问题。通过将 SELinux 设置为关闭一点 (setenforce 0),它能够写入所需的任何位置,当我重新打开 SELinux 时,一切都恢复正常。我仍然对这一切是如何开始的感到困惑......
【问题讨论】:
标签: javascript ruby-on-rails node.js turbolinks