问题标签 [execjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
16 回答
264098 浏览

ruby-on-rails-3.1 - ExecJS 并且找不到 JavaScript 运行时

我正在尝试使用Mongoid / Devise Rails 3.1 模板MongoidDevise),但我不断收到一条错误消息,指出ExecJS找不到 JavaScript 运行时。当我没有安装任何东西时,这很公平,但我尝试安装Node.jsMustangRuby Racer,但没有任何效果。

我找不到 JavaScript 运行时。请参阅sstephenson/ExecJS (GitHub) 以获取可用运行时列表 ( ExecJS::RuntimeUnavailable)。

我需要做什么才能使它正常工作?

0 投票
2 回答
1308 浏览

ruby-on-rails - Rails 3.1 和 Heroku - 即使使用 'therubyracer-heroku' 仍然无法工作

即使我将它添加到我的 Gemfile 中,我也无法将我的 Rails 3.1rc4 应用程序部署到 Heroku:gem 'therubyracer-heroku', '0.8.1.pre3', :group => :production

我无法弄清楚问题是什么,这是日志:gist

0 投票
1 回答
3626 浏览

node.js - ExecJS 问题编译 Rails 3.1 资产

我的 Rails 3.1.rc4 应用程序运行良好,但我试图找出将我的 js 文件存储在管道中的适当方法。如果我将任何代码放在 application.js 以外的文件中,我会收到以下错误:

在 2011-07-21 23:15:02 -0500 开始 GET "/assets/application.js" for 127.0.0.1 编译 ~/Dropbox/Rails/myapp/app/assets/javascripts/application.js.coffee (224ms) (pid 69397) 编译资产 application.js 时出错:ExecJS::ProgramError: SyntaxError: 第 1 行的保留字“function”(在 /Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js .coffee) 服务资产 /application.js - 500 内部服务器错误

无论哪个文件(registrations在这种情况下)都会发生这种情况,并且无论文件中的第一个单词如何( , 等)都声称一个“保留字varfunction。我使用 node.js 作为我的运行时环境,如果我删除 coffeescript 编译 gem 并将其视为 Rails 3.0 应用程序,一切正常。我想更好地了解资产管道并遵循惯例。感谢您的任何建议!

0 投票
2 回答
5168 浏览

gem - 为什么我必须将 execjs 和 therubyracer 添加到我的 gemfile 才能让 rails3.1 工作?

我不喜欢处于我不明白为什么某事有效的情况。我觉得我正在使用垃圾袋和橡皮筋来修复漏水的管道。自从升级到 rails3.1 后,除非我在 gemfile 中添加“execjs”和“therubyracer”,否则我无法让它工作。我不明白这些宝石甚至做什么。我刚刚在 stackoverflow 上的某个地方读到,您必须添加它们才能使应用程序正常工作。有谁知道这些宝石是干什么用的?

0 投票
1 回答
7382 浏览

javascript - 如何从 Node.js 调用 Ruby?

有几种方法可以在 Ruby 脚本中运行 JavaScript。例如,经常使用 ExecJS 将 NPM 模块移植到 Ruby。那么,是否有适用于 Node 的“ExecRuby”?

0 投票
2 回答
521 浏览

ruby-on-rails-3 - 让 Rails 与 JS 运行时环境一起工作

我正在使用 Ubuntu 11.10 和终端来安装和运行 Rails。这是我到目前为止设置 Rails 的过程:

  • 下载并安装 Ruby 1.9.2 和 Rails 3.1.0——
    我使用sudo apt-get ruby1.9.1sudo gem install rails
  • 我制作了一个新的rails应用程序rails new path/to/app
  • 我去了新的应用程序目录并尝试运行rails server并得到一个关于没有 JS ruby​​ 环境的错误
  • 我必须为 execjs 获得一个 JS 运行时环境,所以我下载了“therubyracer”和“therubyrhino”并将它们添加到我的 gem 文件中,一次一个,如下所示: gem 'therubyracer'然后运行bundle install
  • 在安装成功后,我rails server再次
    运行——在两个运行时环境中我都遇到了类似的错误:

Bundle 知道这些程序在哪里,当我输入bundle show libv8或时给出正确的路径名bundle show therubyrhino。它们都在 /usr/lib/ruby/gems/1.9.1/gems/ _ 中,所有其他 gem 都位于其中以进行捆绑安装。

有谁知道这个异常在 Rails 源代码中出现在哪里?有谁知道 Rails 是如何收集宝石的?更好的是,有人遇到过这个问题并知道如何解决吗?

非常感谢,
费夫

0 投票
1 回答
1553 浏览

ruby-on-rails - 我可以在 Rails 中使用虾生成 pdf 中的 highcharts 吗?

在我的 rails 应用程序中,我使用 highcharts 来显示一些图表。现在,我需要生成一个带有图表的 pdf(我将使用 prawn)。我想知道我是否可以在我的 pdf 中使用 highcharts。也许与 ExecJS ?还是用大虾的替代品?

谢谢!

0 投票
1 回答
803 浏览

javascript - 从 therubyracer(或 execjs)测试 ajax?

我想从 ruby​​ 上下文中测试 javascript 代码。具体来说,我想用 ruby​​ 设置我的数据库,用我的 javascript 模型查询它,并从 ruby​​ 确认我的 javascript 状态。我想在没有嘲笑的情况下做到这一点。

我尝试简单地将我的客户端库加载到 v8 上下文中,但这会导致 therubyracer 以各种方式(window not defineduserAgent not defined等)阻塞。

此外,我使用无头浏览器来测试我的 javascript 代码,但它们没有为我提供我需要在这些情况下利用的 ruby​​ 上下文。

我想我需要将浏览器(或 dom 模拟器)加载到 v8 上下文中,但我不知道有哪些库可以做到这一点。也许你有别的想法?

我怎样才能做到这一点?

0 投票
19 回答
159622 浏览

ruby-on-rails - execJs:“找不到 JavaScript 运行时”,但 execjs 和 therubyracer 在 Gemfile 中

我收到此错误:

耙中止!找不到 JavaScript 运行时。见https://github.com/sstephenson/execjs

我已经花了更多时间搜索谷歌然后我愿意承认。我相信这是一个 execJs 错误。

在所有帖子中,这是 rails 3.1 的一个非常常见的问题。现在像咖啡脚本和 sass 这样的标准 gem 现在需要一个 js 运行时。

通过将 gem 'execjs' 和 'therubyracer' 添加到应用程序 Gemfile,然后运行 ​​'bundle update' 和/或 'bundle install' 来解决大多数情况。但不适合我。

我想我很幸运。我在旧版本的 Redhat Linux 4 (2.6.9-101.ELsmp) 上运行 rails 3.1.3/ruby 1.9,而 gcc 是 3.4.6。

其他报告的修复没有帮助,我无法安装“nodejs”、“johnson”或“mustang”,其他运行时 execJs 应该定位和使用。他们不会在我的系统上制作/安装。

我需要解决导致 execJs 无法找到“therubyracer”的问题。这是 Gemfile(并且 bundle install 说好的):

这是一个痕迹:

开发日志中没有任何有趣的内容。

这是 execjs 目录:

我也试过 execjs-1.2.13。同样的问题。

如果我在下面评论 execjs.rb,我可以运行 rake 而不会出现错误:

但是我没有运行时。

我可以在 runtimes.rb 中看到错误文本的来源:

所以问题是,既然我确实安装了“therubyracer”,为什么runtimes.rb 找不到它?execJs 坏了吗?

这里是“therubyracer”:

我怎样才能解决这个问题?

0 投票
3 回答
11602 浏览

ruby-on-rails - 如何强制 execjs 使用 Node.js?

我有一个 rails 应用程序,我想强制 execjs 将 Node.js 用作 javascript 运行时。我什至如何检查哪个运行时 execjs 正在使用?

谢谢。