标签: libv8

无法在Windows上的Rails中安装libv8 3.11.8.17

无法安装libv8 3.11.8.17 gem.我已经环顾四周,发现它不支持Windows.虽然我还在寻找解决方法吗?

Installing libv8 (3.11.8.17)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
Das System kann den angegebenen Pfad nicht finden.
Das System kann den angegebenen Pfad nicht finden.
Das System kann den angegebenen Pfad nicht finden.
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-            
3.11.8.17/ext/libv8/builder.rb:49:in `setup_python!': libv8 requires python 2 to b
e installed in order to build, but it is currently not available (RuntimeError)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:35:in `block in build_libv8!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:34:in `chdir'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:34:in `build_libv8!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8- …
Run Code Online (Sandbox Code Playgroud)

gem ruby-on-rails windows-7 ruby-1.9.3 libv8

6
推荐指数
1
解决办法
2490
查看次数

无法在 M1 Macbook Pro 中安装“therubyracer v0.12.3” gem

我正在使用 M1 Macbook Pro 并想为 rails webapp 安装 therubyracer 和 libv8。但由于下面描述的错误,我无法这样做。互联网上有几种解决方案,但没有一个对我有用。

操作系统:macOS Big Sur v11.1.

如果有人可以帮助我,那将非常有帮助。

日志:

? ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [-darwin20]
? bundle -v
Bundler version 1.17.3
? brew -v
Homebrew 2.7.5
Homebrew/homebrew-core (git revision e04a30; last commit 2021-01-20)
Homebrew/homebrew-cask (git revision d128de; last commit 2021-01-20)
? uname -a
Darwin Vaibhavs-MacBook-Pro.local 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec  2 20:40:21 PST 2020; root:xnu-7195.60.75~1/RELEASE_ARM64_T8101 arm64


? brew search v8
==> Formulae
v8 ?                                                                 v8@3.15 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3 therubyracer libv8 macos-big-sur apple-m1

6
推荐指数
2
解决办法
2223
查看次数

如何强制 Bundler 为 mini-racer 获取正确的 libv8 节点?

我正在开发 Rails 5->6 更新。当我运行时bundle update,我们到达 mini_racer,它需要 libv8-node。当 Bundler 尝试获取 libv8-node v. 15.14.0.1 时,它会尝试安装<our local mirror path>/gems/gems-repos/gems/libv8-node-15.14.0.1-x86_64-linux-musl.gem,但这是不正确的(这是 Debian VM),并且服务器响应错误。gem install libv8-node工作得很好。

ruby-libv8-node 页面表明 Bundler 选择错误的平台存在一个已知问题。追寻这个兔子洞,似乎已经提出了解决方案,但尚未发布任何内容。

与此同时,是否有解决方法可以强制 Bundler 使用正确的平台?这是 Bundler 2.2.28 和 Ruby 2.6.6。

ruby rubygems ruby-on-rails bundler libv8

6
推荐指数
2
解决办法
4895
查看次数

懒惰的符号绑定失败Ruby Racer

我正在使用Ruby 2.2.2运行El Capitan(全新安装)和Rails 4.2.1应用程序.我最初遇到了安装libv8的问题,不得不强制安装brew install v8和gem install libv8(version),并将systemv8作为标志.Bundle工作正常并安装所有gem依赖项.

但是当我去加载rails sbundle exec thin start启动我的应用服务器时,我收到以下错误.

dyld: lazy symbol binding failed: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
  Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
  Expected in: flat namespace

dyld: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
  Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
  Expected in: flat namespace
Run Code Online (Sandbox Code Playgroud)

我正在谷歌搜索和寻找答案,但到目前为止还没有提出太多的工作.我升级到El Capitan的另一台机器没有问题,但这种干净安装对于libv8/v8/therubyracer来说是个问题.

关于如何调试这个的任何想法?我想要编码.

macos v8 therubyracer ruby-on-rails-4 libv8

5
推荐指数
2
解决办法
1991
查看次数

在 Debian 上启动 Thin 时,“必须安装 libgcc_s.so.1 才能使 pthread_cancel 工作”

我在 Debian 7 上使用 Thin 作为开发 Web 服务器和 Rails。自从我将 Rails 更新到 4.2.7.1 后,我无法再启动 Thin,并且收到以下错误消息:

Using rack adapter
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted
Run Code Online (Sandbox Code Playgroud)

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

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

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

debian ruby-on-rails thin libv8

5
推荐指数
1
解决办法
4420
查看次数

在 OSX 10.15.4 Catalina 上安装 libv8 gem 失败

我想在我的 iMac 上安装“zammad”(请参阅https://docs.zammad.org/en/latest/install/source.html)但失败了。
错误信息如下:

An error occurred while installing libv8 (6.7.288.46.1), and Bundler cannot continue.
Make sure that `gem install libv8 -v '6.7.288.46.1' --source 'https://rubygems.org/'` succeeds before bundling.


In Gemfile:
  mini_racer was resolved to 0.2.4, which depends on
    libv8
Run Code Online (Sandbox Code Playgroud)



我尝试了各种方法都没有成功。我基于自制软件的最后一种方法:

  1. 安装了xcode,最新版本包括命令行工具
  2. 通过自制软件安装v8@3.15(参见https://formulae.brew.sh/formula/v8

    brew install v8@3.15

  3. 设置路径和编译器标志

    echo 'export PATH="/usr/local/opt/v8@3.15/bin:$PATH"' >> ~/.zshrc export LDFLAGS="-L/usr/local/opt/v8@3.15/lib" export CPPFLAGS="-I/usr/local/opt/v8@3.15/include"

  4. 通过 gem开始安装

    gem install libv8 -v '6.7.288.46.1' -V -- --with-system-v8


安装失败并显示以下错误消息:

Error: …
Run Code Online (Sandbox Code Playgroud)

rubygems libv8

5
推荐指数
0
解决办法
431
查看次数

Docker on Apple Silicon (M1) 中的 Ruby on Rails

我正在尝试让 Ruby on Rails 在 Apple Silicon (M1) Macbook 上的 Docker 中运行。我遇到的问题是 Javascript 运行时。gem mini_racer 依赖于未正确安装的 libv8。有类似问题的人似乎要么从源代码编译 V8,要么强制 libv8/mini_racer 使用系统版本。另一条路径似乎是改用 NodeJS。

有没有人在 M1 芯片上的 Docker 中启动并运行带有 Javascript 运行时的 RoR?

v8 ruby-on-rails docker libv8 apple-m1

5
推荐指数
2
解决办法
1529
查看次数

C++范围和Google V8脚本上下文

我有以下几乎用c ++编写的代码片段:

[..]

Handle<Object> jsGlobal;
Handle<Function> jsUpdateFunc;

void setupJs () {
    V8::Initialize();
    Isolate* isolate = v8::Isolate::New();
    Isolate::Scope isolate_scope(isolate);
    HandleScope handle_scope(isolate);
    Local<Context> context = Context::New(isolate);
    Context::Scope context_scope(context);
    Local<String> source = String::NewFromUtf8(isolate, "var a = 0; function test() { a++; return a.toString(); }");
    Local<Script> script = Script::Compile(source);
    script->Run();

    jsGlobal = context->Global();
    Handle<Value> value = jsGlobal->Get(String::NewFromUtf8(isolate, "test"));
    jsUpdateFunc = Handle<Function>::Cast(value);
}

void callJs() {
    Handle<Value> args[0];
    Handle<Value> js_result = jsUpdateFunc->Call(jsGlobal, 0, args);
    js_result->ToString();

    String::Utf8Value utf8(js_result);
    printf("%s\n", *utf8);
}

[..]
Run Code Online (Sandbox Code Playgroud)

我有函数setupJs()设置v8环境,callJs应该被多次调用(工作时,javascript脚本每次增加一个var).

如果我放

Handle<Value> args[0]; …
Run Code Online (Sandbox Code Playgroud)

c++ scope v8 embedded-v8 libv8

4
推荐指数
1
解决办法
1850
查看次数

Github Actions 无法在 ubuntu-18.04.5 上安装 Libv8 gem

我们正在使用 Github Actions 进行 CI 设置。当我们尝试安装mini_racer依赖于libv8gem 的 gem时,我们的 Gem 安装操作突然停止工作。但是当操作尝试为这个 gem 安装和构建扩展时,它在那里失败。

以下是配置:

jobs:
  spec:
    runs-on: ubuntu-latest

    services:
      postgresql:
        image: circleci/postgres:11.5-alpine-ram
        ports: ["5432:5432"]
        env:
          POSTGRES_USER:
          POSTGRES_DB:
          POSTGRES_PASSWORD:

    steps:
      - uses: actions/checkout@v1

      - name: Bundler/Gems Cache
        uses: actions/cache@v2
        with:
          path: vendor/bundle
          key: ${{ runner.os }}-bundle-v1-${{ hashFiles('Gemfile.lock') }}
          restore-keys: |
            ${{ runner.os }}-bundle-v1-

      - name: Read nvm version
        id: nvmrc
        run: echo ::set-output "name=NODEVERSION::$(cat .nvmrc)"

      - uses: ruby/setup-ruby@v1

      - uses: actions/setup-node@v1
        with:
          node-version: "${{ steps.nvmrc.outputs.NODEVERSION }}"

      - name: …
Run Code Online (Sandbox Code Playgroud)

ruby v8 bundler libv8 github-actions

4
推荐指数
1
解决办法
777
查看次数