问题标签 [libv8]

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 回答
1387 浏览

javascript - 在进行 v8::Function::Call 之前是否需要获取 v8::Locker?

我正在使用 V8 执行一些自定义 javascript 代码,将OnUpdate函数暴露给 JS 世界。整体代码工作正常,但目前我担心以下代码的性能 - 是否需要抓取v8::Locker来执行任何用户定义的函数?显示这里的代码在构造函数和析构函数Instruments.app中花费了太多时间-v8::Locker

v8 配置文件

90 毫秒(在实际代码执行中)vs ~4000 毫秒(由Locker& ~Locker)——这很荒谬,我觉得我可能做错了什么。

所以我的基本问题是真的有必要抓取v8::Locker来执行v8::Function::Call吗?在当前状态下,如果我注释掉,v8::Locker我会收到以下错误消息:

代码片段:

0 投票
1 回答
206 浏览

ruby-on-rails-4 - Rails 4.2.0 资产预编译错误“错误的参数类型 nil(预期数据)”

我在 CentOS 6.6 Linux 上使用 RubyOnRails 4.2.0 构建了网站。我不能对 CoffeeScript 进行资产预编译。gem“therubyracer”运行时似乎发生了错误。只有在 CoffeeScript 不存在时,预编译才会成功。

我使用 gem "therubyracer" ver.0.11.0beta8 和 gem "libv8" ver.3.11.8.3。如何解决?谢谢。

建筑学

Rails.application.config.assets

资产目录

rake 资产:预编译

0 投票
2 回答
791 浏览

ruby - 为什么安装 gem libv8 3.11.8.17 可以在 ruby​​-2.1.2 上工作,但在 ruby​​-2.3.1 上会出错?

我正在使用 RVM 来管理我的宝石。

宝石文件:

尝试使用ruby​​-2.1.2

#1 Mac OSX 上的终端命令

以上工作正常。现在尝试使用ruby​​-2.3.1

#2 Mac OSX 上的终端命令

这会产生错误:

在 Linux Debian 上,两者都可以正常工作。

我想知道为什么这适用于 ruby​​-2.1.2 而不是 MacOSX 10.11.6 上的 ruby​​-2.3.1 ?

0 投票
0 回答
2336 浏览

ruby-on-rails - 在 Debian 上启动瘦时,“必须安装 libgcc_s.so.1 才能使 pthread_cancel 工作”

我在 Debian 7 上使用 Thin 作为带有 Rails 的开发 Web 服务器。由于我已将 Rails 更新到 4.2.7.1,我无法再启动 Thin 并且收到以下错误消息:

我的文件夹libgcc_s.so.1中有一个文件,/lib/i386-linux-gnu/但不知何故似乎无法在那里找到它。

我已经尝试了这个问题的所有答案,但没有帮助。

编辑:我认为问题与libv8gem 有关,这是对我的项目的依赖。错误显示何时使用 gem 的默认5.3.332.38.1 x86-linux版本。但如果我强制它为 version 5.0.71.48.3 x86-linux,错误就会消失。

0 投票
0 回答
661 浏览

ruby-on-rails - WINDOWS 上的 Rails:安装 therubyracer 和 libv8 - 在 MAC 上设计的网站上工作

我有一个在 MAC 上使用 RoR v 4.2.4 开发的网站,需要一些调整,我正试图在我的 Windows 10 上运行(因为我没有 MAC)。我没有成功使用 rails 安装程序和轨道 5.0。

在使用 ruby​​ 2.2.6 安装 RoR 4.2.4 经历了很多痛苦之后,我设法使用bundle check,bundle installgem install xyz -v 0.0.... 但现在我真的坚持最后两个: therubyracerlibv8

我尝试了什么:

使用此处gem install libv8 -v 3.16.14.11 -- --with-system-v8提到的 therubyracer-for-windows安装 libv8 。

修改 gemfile.lock 以摆脱依赖项,例如:

并尝试过bundle install --without production。但是在启动服务器时出现错误。

目前bundle check说 therubyracer v 0.12.2 是最后一个缺失的宝石。libv8 与--with-system-v8. gem list说 libv8 (3.16.14.11) 和 therubyracer (0.11.0b) 已安装,但系统似乎没有找到 therubyracer,因为:therubyracer -v不起作用。此外bundle install,给我以下错误:

这个错误至少与我之前遇到的所有错误相似,在我安装 libv8 后尝试安装 therubyracer 时--with-system-v8

抱歉,如果这些信息有点混乱,但我现在已经尝试了很多事情,但并不总是 100% 确定我在做什么:)……很难尽可能地总结。如果缺少重要信息,请告诉我。

顺便说一句:我尽可能地遵循了本指南。使用服务器创建/开发一个新网站rails new blog并运行它可以完美运行......问题仅在于我必须完成的现有网站。

有人能帮我吗?有什么方法可以让网站在我的 Windows 电脑上运行?谢谢!

0 投票
1 回答
1114 浏览

ruby - 安装 ruby​​racer 时出错

我在 Windows Server 2012 R2 上安装 therubyracer 时遇到问题。

首先,我尝试过gem install therubyracer -v '0.12.3'

这给出了这个输出:

也试过gem install therubyracer -v '0.12.3' -- --with-v8-dir

这导致了这个输出:

如果您需要任何进一步的信息,请告诉我。

0 投票
1 回答
1627 浏览

v8 - V8 library size

We are working on the V8 version 5.3.332 & we choose to compile it as static library. We compiled the library with the following configuration.

MAKE_TARGET="android_$BUILD_LIB_VERSION.$BUILD_MODE" make $MAKE_TARGET -j1 snapshot=off debuggersupport=off GYPFLAGS="-Dandroid_ndk_root=$NDK_DIR -Dv8_use_snapshot='false' -Dv8_enable_i18n_support=0" ANDROID_NDK_ROOT=$NDK_DIR

With the above configuration, release version of libv8_base.a is around 35MB in size. So my question is, is V8 expected to be 35MB in size with i18n & snapshot support off ? is there any additional flags which help us to get the v8 size reduced further ?

One more observation is, even if we pass debuggersupport=off , we are still able to build & debug my JS app. So our expectation here is, debug API's would be stripped off from library and no more runtime JS debug support available. Please correct if we are not passing the build configuration properly

0 投票
1 回答
346 浏览

ruby-on-rails - 在 Mac OSX 10.12.6 Sierra 上安装 ruby​​racer 0.10.2 和 apple-gcc42 有困难

这个类似问题的答案并不能解决我的问题。这是该问题的答案:

如果您决定使用更新的 therubyracer gem 版本,您将不再有这个问题

否则:

我在使用此解决方案时遇到的问题是 apple-gcc42。当我运行这一行时:

我收到以下错误:

如果我忽略该错误并尝试这样gem install therubyracer -v '0.10.2'做,我会得到:

我尝试了许多其他解决方案,例如链接问题的其他答案,但大多数都依赖于 apple-gcc42。

0 投票
0 回答
675 浏览

c++ - 从静态库中剥离(删除)导出的符号

我将 v8 嵌入到我的 exe 中,它是作为静态库构建的,结果是在编译和链接中完全优化后的 exe 文件。exe 的总大小约为 13MB .. 我注意到大多数 v8 API 都是我的 exe 中的导出符号。

msvc 中导出的符号可以用_declspe(expot)修饰符标记

那么,我可以使用哪些标志来阻止和删除未使用的方法和符号的链接和导出?

我的主要目标是减小最终 exe 文件的大小。

0 投票
0 回答
267 浏览

ruby-on-rails - therubyracer 库版本不兼容

我的应用程序在ubuntu 16.04上运行,带有ruby​​ 2.1.4p265rails 4.2.2。我收到以下错误

在 ubuntu 14.04 中不会发生此错误。有什么解决方法可以解决吗?