【问题标题】:execjs - Could not find a JavaScript runtimeexecjs - 找不到 JavaScript 运行时
【发布时间】:2014-12-10 15:25:39
【问题描述】:

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

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

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

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

有人知道我缺少什么吗?是否可以在不在本地运行 bundle install 的情况下使其正常工作?

捆绑器版本 1.7.3

【问题讨论】:

    标签: ruby-on-rails ruby nginx bundler passenger


    【解决方案1】:

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

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

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

    sudo apt-get install nodejs
    

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

    yum -y install nodejs
    

    希望对你有帮助:)

    【讨论】:

    • 我安装了 libv8-dev(libv8 gem 和rubyracer 需要),但我仍然遇到同样的错误
    • 我没听明白。你的意思是你不能在 wheezy 中安装 nodejs 吗?我想你可以试试这个:antler.co.za/2014/04/… 我在 ubuntu 上试过 nodejs,效果很好。
    • 对了,这个问题和stackoverflow.com/questions/6282307/…类似。我想您可以从中获得一些见解。
    • 我的意思是它不像在 Ubuntu 上那么容易。有很多类似的问题,我已经尝试了很多答案:)
    • 我已经安装了nodejs,但是错误是一样的。 code 来自应用程序的消息:找不到 JavaScript 运行时。有关可用运行时列表,请参阅 github.com/sstephenson/execjs。 (ExecJS::RuntimeUnavailable)
    猜你喜欢
    • 2011-09-11
    • 2012-03-01
    • 1970-01-01
    • 2011-12-24
    • 2021-08-02
    • 2015-01-09
    • 2023-01-31
    • 1970-01-01
    相关资源
    最近更新 更多