问题标签 [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 投票
1 回答
2006 浏览

ruby-on-rails - therubyracer on windows - how to change gem file?

I want to run a heroku server and after installing ruby and ruby gems, wanted to run ' bundle install'. I received a compile error when trying to install therubyracer and realised it is because therubyracer does not run on windows from here. It is suggested on other several questions to change the gem file to not include therubyracer on windows, and instead use execjs. I downloaded execjs, but how do I change the gem file?

this is my current gem file:

these are suggestions made here and here

I tried inserting either of these lines, which did not work (running 'bundle install' still attempted to install therubyracer and failed.) So I suspect I must add the :platform => :ruby else where.

Can anyone point me to how to modify my gem file to fix this problem?

Thank you!

ps: using Ruby 1.9.3.

0 投票
2 回答
2467 浏览

ruby-on-rails - Ruby on Rails:运行“rake assets:precompile”时出现分段错误

两天以来,我再也无法在我的 ruby​​ on rails 项目中编译 javascript 资产了。如果我不运行预编译命令,当 ruby​​ 在运行时编译资产时会发生同样的错误。'rake assets:precompile' 命令由于分段错误而中止:

在这里,“Segmentatiefout”是荷兰语的“Segmentation fault”。起初,我以为我的项目搞砸了,于是我开始恢复更改以隔离“坏”更改。当这没有帮助时,我在一个我几周没有遇到困难的项目中尝试了“bundle exec rake assets:precompile”,这让我遇到了同样的分段错误。

现在我试图找到这个“execjs20120417-15062-69pd5q.js”文件来删除它。即使在 unix 'find' 命令的帮助下,我也找不到。即使中止,也可能会清除此临时文件。

我尝试的下一件事是重新安装 rake,这对我没有帮助。虽然在运行 'rake assets:precompile' 时发生了同样的错误,但我也尝试重新安装 bundler。这也没有奏效。

接下来的事情有点严格,我在我的系统上重新安装了 ruby​​ 和 rails。不幸的是,根本没有改变。Rails 版本是 3.2.2,重新安装后是 3.2.3。

我尝试的最后一件事是卸载 gem execjs,然后重新安装它,但也没有任何帮助。

将 RAILS_ENV 更改为 development 也不会改变任何内容。

当我清除我的 app/assets/javascripts 文件夹时,我可以预编译,我可以运行我的应用程序(如Rails assets precompile 神秘错误中所述)。我希望 ruby​​ 能够使用之前成功编译的资产。但是,这意味着我永远无法更改 app/assets/javascripts 的内容,这是不可取的。如果我删除了所有的 .js.coffee 文件,那么剩下的 .js 文件就会出现分段错误。

文件 clubs.js.coffee 是自动生成的,我从未更改过。它是几周前生成的,在两天前之前从未给我带来任何问题。如果我删除它,那么另一个 .coffe 或 .js 文件也会发生同样的错误。clubs.js.coffee 包含:

我对此真的没有想法。在此先感谢您的帮助。

完整的堆栈跟踪:

0 投票
2 回答
521 浏览

ruby-on-rails - Ruby - ExecJS 未加载(我有正确的材料和 PATH 位置。)[Windows]

我遇到了 ExecJS 的问题,因为它无法找到所需的运行时。我正在使用 Windows,并且我的计算机上同时安装了 Windows CScript 和 Node.js,但这些人都没有被调用。

结果,我无法运行任何涉及此问题的 rails 任务(我什至无法在 RubyMine 中加载我的 rake 列表来调用诸如 db:create 之类的操作来从一个新项目创建我的数据库。)

我能够从命令行访问 csript 和 node,并且我已经检查了我的环境变量,并且它们的正确文件位置在 PATH 中。还有其他东西破坏了我使用 ExecJS 的能力。有没有其他人有过类似的经历,你已经拥有了所有正确的东西,但还是有问题?

0 投票
3 回答
2465 浏览

ruby-on-rails - Rails 3.2.3 ExecJS::RuntimeError

ExecJS::RuntimeError当我尝试启动 Rails 服务器并且服务器日志给我以下信息时,我得到了:

我发现发生此错误是因为 Ubuntu 没有安装 javascript 运行时。好的。我已经nodejs v0.6.3从源安装并尝试按照建议添加gem 'therubyracer'到我Gemfile的,但错误仍然出现。

我错过了什么?提前致谢。

我的items.js.coffee样子是这样的:

0 投票
2 回答
431 浏览

ruby-on-rails-3 - cscript.exe 使用双斜线时如何防止 cmd.exe 上网?

一些背景知识:在我的 Rails 环境中,我使用的是CoffeeScript,它使用ExecJS,它使用Windows 脚本主机来执行 Javascript 文件。

不幸的是,当我的 CoffeeScript 文件被编译时,我遇到了巨大的延迟(> 30 秒)。

使用 Process Explorer 和 Process Monitor 我已经将命令行确定为原因之一。cscript.exe期望其参数带有双斜杠:

出于某种原因cmd.exe(不是cscript.exe!)将双斜杠视为双反斜杠,并尝试解析显然失败的每个参数的网络名称,但不是经过一段时间的延迟。

这是进程监视器日志的一小段摘录:

... 等等。

我能做些什么来防止这种情况发生?

0 投票
0 回答
424 浏览

execjs - [Rails 3.2.8 & ExecJS 1.4.0]出现语法错误,但我该如何调试

例如我有以下代码:

当我在萤火虫控制台中通过它时,它返回未定义。现在很好

当我尝试使用 ExecJS 运行它时。ExecJS 返回:ExecJS::RuntimeError: SyntaxError: Unexpected token var

我不知道从哪里开始寻找问题。有人有想法吗?

0 投票
1 回答
254 浏览

ruby - ExecJS 上下文中的 Jade

很简单,我无法在 execjs 中运行从jade-lang文件编译的jade.js。

如果我在 html 文件中包含jade.js

返回一个函数。

当我执行以下操作时:

eval 返回 nil。

知道我哪里出错了吗?我搜索了堆栈溢出,甚至发现了一些与我相同的方式执行此操作的 gem,但是当我在我的系统上执行时,它不起作用。我尝试使用 therubyracer 和 node 作为我的 execjs 运行时。

谢谢你的帮助!

0 投票
1 回答
340 浏览

javascript - 在 Windows 上的 Ruby 中运行 javascript

有人知道如何在 Windows 机器上的 Ruby 中运行 javascript(jscript 也可以)吗?execjs、V8 和 therubyracer 似乎不适用于 Windows。我知道如何在 Ruby 之外运行 javascript。

0 投票
0 回答
343 浏览

javascript - 任何页面上的 ExecJS::RuntimeError,包括 coffeescript

我在我的应用程序的每个页面上都收到这样的错误。过去一切正常......由于某种原因,当我重新启动我的应用程序时,它现在无法正常工作。

我在 Windows 上

我已经安装了节点,尝试将以下内容添加到我的 boot.rb 以确保它正在使用节点

我有

但不是 ruby​​racer,因为根据我的研究,

  1. 节点应该也可以工作
  2. rubyracer 无法在 Windows 上安装(当我尝试安装 libv8 时,会在 Windows 上出现错误)

我确定这很愚蠢,我的意思是它只是在工作。我正在使用瘦服务器并从thin start

我的日志中的错误是

我的 application.js

0 投票
2 回答
1357 浏览

javascript - 带有javascript_include_tag的rails 3.2.8引擎中的ExecJS :: RuntimeError

我们将两个 rails 3.2.8 引擎放在一个 rails 应用程序中。问题是 ExecJS 不喜欢布局文件中 javascript_inclide_tag 的命名空间。这是导致错误的标签:

这里 authentify 是 rails 引擎名称。错误是:

如果我们删除命名空间 authentify ( <%= javascript_include_tag "application" %>),那么 ExecJS 错误就会消失,rails 应用程序可以正常工作。另一个带有 js 标签的 rails 引擎也有同样的错误。

我们使用的是windows环境。什么可能导致错误?谢谢您的帮助。

更新:

在用于身份验证的 engine.rb 中,每个 js 库都被列为: