我在带有 ubuntu 16.04 + nginx +passenger5 + ruby 2.5.0(通过 rbenv)+ nodejs 9.4 的服务器上使用 capistrano 部署了一个 Ruby on Rails 应用程序。由于某些未知原因,当我打开网站时,乘客返回错误:
There was an error while trying to load the gem 'bootstrap'.
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes."
如前所述,我已经安装了 nodejs,如果我尝试通过 ruby 控制台(irb)运行第一个 ExecJS 示例,它可以正常工作:
require "execjs"
ExecJS.eval "'red yellow blue'.split(' ')'"
如果我通过将“therubyracer”gem 添加到 Gemfile 来更改 javascript 运行时,则项目可以正常工作。任何想法为什么 ExecJS 自动检测缺少 NodeJS?
提前致谢。