使用 NVM 的 Phusion Passenger 和 Rails 应用找不到 JavaScript 运行时
Phusion Passenger and Rails app using NVM Could not find a JavaScript runtime
我正在使用 Apache 和 Phusion Passenger 部署 rails 应用程序
我已经使用这个堆栈部署了应用程序,但现在我正在使用 NVM 安装节点
但是当我尝试加载该站点时显示错误,查看日志显示此错误:
找不到 JavaScript 运行时。有关可用运行时列表,请参阅 https://github.com/rails/execjs。
在此服务器上,我没有从 OS 存储库安装 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 存储库安装 nodejs 修复了消息,应用程序可以正常工作,但因为它使用的是 OS 的节点版本,但我想使用 NVM 版本。
我有同样的问题,但没有好的解决方案,但我发现我可以通过创建符号 link 来解决我的问题,例如:
ln -sf /home/deploy/.nvm/versions/node/v6.10.1/bin/node /usr/local/bin/node
如果在同一台服务器上有多个部署,则效果不佳,但我也找不到 "properly" 将 NVM 与 Passenger / Rails.[=11= 一起使用的方法]
另一种不需要写入 /usr/local/bin 的方法是使用 https://www.phusionpassenger.com/library/config/apache/reference/#passengernodejs PassengerNodeJs 指令。如果服务器上有其他应用程序使用不同版本的节点,这也适用。
我正在使用 Apache 和 Phusion Passenger 部署 rails 应用程序 我已经使用这个堆栈部署了应用程序,但现在我正在使用 NVM 安装节点 但是当我尝试加载该站点时显示错误,查看日志显示此错误:
找不到 JavaScript 运行时。有关可用运行时列表,请参阅 https://github.com/rails/execjs。
在此服务器上,我没有从 OS 存储库安装 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 存储库安装 nodejs 修复了消息,应用程序可以正常工作,但因为它使用的是 OS 的节点版本,但我想使用 NVM 版本。
我有同样的问题,但没有好的解决方案,但我发现我可以通过创建符号 link 来解决我的问题,例如:
ln -sf /home/deploy/.nvm/versions/node/v6.10.1/bin/node /usr/local/bin/node
如果在同一台服务器上有多个部署,则效果不佳,但我也找不到 "properly" 将 NVM 与 Passenger / Rails.[=11= 一起使用的方法]
另一种不需要写入 /usr/local/bin 的方法是使用 https://www.phusionpassenger.com/library/config/apache/reference/#passengernodejs PassengerNodeJs 指令。如果服务器上有其他应用程序使用不同版本的节点,这也适用。