ruby-on-rails - execjs - 找不到 JavaScript 运行时

标签 ruby-on-rails ruby nginx bundler passenger

我有一个 RoR (4.1) 应用程序,我正在尝试使用 Passenger 和 Nginx 运行它。我想在我的 CI 服务器(jenkins)上进行 bundle ,但是当我复制文件时,我遇到了可怕的情况:

找不到 JavaScript 运行时。有关可用运行时的列表,请参阅 https://github.com/sstephenson/execjs。 (ExecJS::运行时不可用)

我的 Gemfile 中有 therubyracer,我可以在 $GEM_HOME (./vendor/bundle/ruby/1.9.1/gems/) 中看到它。显然我可以在网络服务器上 bundle 安装并解决问题,但这正是我试图避免的。

我尝试过使用“bundle pack --all”,但没有效果,但我目前在构建服务器上使用“bundle install --deployment”,然后压缩整个文件夹并将其移动到网络服务器。构建服务器与 Web 服务器使用相同的发行版 (Debian 7 x64)。

有人知道我错过了什么吗?是否可以在不本地运行 bundle 安装的情况下使其工作?

bundler 版本 1.7.3

最佳答案

我遇到了这个问题,这就是我发现的:

你需要一个像nodejs这样的javascript运行库来解决这个问题。

对于 Ubuntu 用户,请在终端中尝试以下命令:

sudo apt-get install nodejs

要使用 yum 在系统上安装 Nodejs,请在终端中尝试以下操作:

yum -y install nodejs

希望有帮助:)

关于ruby-on-rails - execjs - 找不到 JavaScript 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26384457/

相关文章:

ruby-on-rails - 未定义哈希方法 `add'

jquery - 为什么 Rails 无法从 Internet Explorer 访问 Ajax 请求中的 Session?

ruby - 为什么三元语法在这种情况下不起作用?

django - 如何在任何产品(Nginx 和 Gunicorn)中访问和设置环境变量

Django Server 不影响 View 变化

mysql - 在 windows apache MySQL 的生产环境中部署 Rails 4

ruby-on-rails - Rails 控制台不会在 secrets.yml 中加载环境变量

Ruby:在现有 Ruby 进程中运行脚本

ruby - 使用 ruby​​ 自动执行任务

php - Nginx + php5-fpm = 404 别名位置错误