【发布时间】:2017-01-05 00:00:46
【问题描述】:
我正在使用 Apache 和 Phusion Passenger 部署一个 Rails 应用程序 我已经使用此堆栈部署了应用程序,但现在我正在使用 NVM 安装节点 但是当我尝试加载站点时显示错误,查看日志会显示此错误:
找不到 JavaScript 运行时。有关可用运行时列表,请参阅 https://github.com/rails/execjs。
在这台服务器上,我没有从 OS repos 安装 nodejs,并且查看乘客文档显示了有关 Passenger_nodejs 的信息,但这是来自 nginx。
这是我的 apache 配置文件:
服务器名称 yourserver.com
# Tell Apache and Passenger where your app's 'public' directory is
DocumentRoot /var/www/myproj/public
PassengerRuby /home/appuser/.rvm/gems/ruby-2.3.0/wrappers/ruby
PassengerNodejs /home/appuser/.nvm/versions/node/v6.9.2/bin/node
# Relax Apache security settings
<Directory /var/www/myproj/public>
Allow from all
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
Require all granted
</Directory>
并继续显示该错误
从 OS repos 安装 nodejs 可以修复消息,并且应用程序可以正常工作,但这是因为它使用的是 OS 的 node 版本,但我想使用 NVM 版本。
【问题讨论】:
-
passenger_nodejs在Ubuntu 18.04.5、nginx/1.14.0和Phusion Passenger 6.0.6中什么都不做。我必须使用@krsyoung 解决方案。
标签: javascript ruby-on-rails node.js apache nvm