Max*_*JRB 5 javascript apache ruby-on-rails node.js nvm
我正在使用Apache和Phusion Passenger部署rails应用程序我已经使用此堆栈部署了应用程序但现在我使用NVM来安装节点但是当我尝试加载该站点时显示错误,查看日志显示此错误:
找不到JavaScript运行时.有关可用运行时的列表,请参阅https://github.com/rails/execjs.
在这台服务器上,我没有安装来自OS repos的nodejs,查看乘客文档显示了有关passenger_nodejs的内容,但这是来自nginx.
这是我对apache的看法:
ServerName 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>
Run Code Online (Sandbox Code Playgroud)
并继续显示该错误
从OS repos安装nodejs修复了消息,应用程序正常工作,但是因为它使用的是OS的节点版本,但我想使用NVM版本.
我有同样的问题,并没有一个很好的解决方案,但我发现我能够通过创建一个符号链接来解决我的问题,如:
ln -sf /home/deploy/.nvm/versions/node/v6.10.1/bin/node /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)
如果在同一台服务器上有多个部署但是我也找不到"正确"使用带有Passenger/Rails的NVM的方法,那么效果不好.