gem install libv8 -v '5.3.332.38.1' ... 安装libv8时出错:ERROR: 无法构建本地扩展宝石。

15

有什么想法/建议吗?

****更新如下:**** 2.3.1 agxxx-xxxight 2290-fix-claim-button % ruby -e 'puts Gem::Platform.local' x86_64-darwin-13

我有两台机器,我正在尝试在其中安装lib v8...现在无论是哪个达尔文版本都遇到了相同的错误
1个是Mac桌面(带有x86_64-darwin-13),但另一个带有darwin-16。最初,我认为问题与达尔文-13有关,但现在无论哪个版本都会遇到这个问题。


我已经尝试了很多解决方案,包括重新安装和升级OSX和xcode。

Mac OX Sierra 10.12.3 xcode 8.2.1

我看到了类似的Stack Overflow,但提到了rubyracer,并不确定是否与此有关?Error installing libv8: ERROR: Failed to build gem native extension

这是我的错误:

gem install libv8 -v'5.3.332.38.1' Building native extensions. This could take a while... ERROR:安装libv8时出错: ERROR:构建宝石本地扩展失败。

    current directory: /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8
/Users/axxxsmith/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20170209-5158-fzzx9o.rb extconf.rb
creating Makefile
Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s v8/buildtools/mac/clang-format.sha1' returned non-zero exit status 1 in /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor
Running: gclient root
Running: gclient config --spec 'solutions = [
  {
    "managed": False,
    "name": "v8",
    "url": "https://chromium.googlesource.com/v8/v8.git",
    "custom_deps": {},
    "deps_file": "DEPS",
    "safesync_url": "",
  },
]
'
Running: gclient sync --with_branch_heads
Traceback (most recent call last):
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 353, in <module>
    sys.exit(main())
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 348, in main
    return run(options, spec, root)
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 342, in run
    return checkout.init()
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 142, in init
    self.run_gclient(*sync_cmd)
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 76, in run_gclient
    return self.run(cmd_prefix + cmd, **kwargs)
  File "/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/vendor/depot_tools/fetch.py", line 66, in run
    return subprocess.check_output(cmd, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')' returned non-zero exit status 2
/Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8/builder.rb:106:in `block in setup_build_deps!': unable to fetch v8 source (RuntimeError)
    from /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8/builder.rb:104:in `chdir'
    from /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8/builder.rb:104:in `setup_build_deps!'
    from /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8/builder.rb:60:in `build_libv8!'
    from /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1/ext/libv8/location.rb:24:in `install!'
    from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libv8-5.3.332.38.1 for inspection.
Results logged to /Users/axxxsmith/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-13/2.3.0-static/libv8-5.3.332.38.1/gem_make.out

我最近升级到了Mac Sierra(重新安装了我的硬盘),下载了新版本的Chrome和Google Drive。我在想这是否与最新版本的Sierra不兼容?还有其他人遇到这个问题吗? - user2970050
1个回答

13

尝试以下命令(需要使用Homebrew):

brew install v8
gem install libv8 -- --with-system-v8

对于特定版本:

gem install libv8 -v '5.3.332.38.1' -- --with-system-v8

但我假设版本号需要与Homebrew配方中v8的版本相匹配。


嗨 - 谢谢你 - 这让我解决了这个问题。 - user2970050
1
你也可以使用像therubyracer这样的gem将自己的v8库与应用程序打包在一起,这样你就不必依赖于系统安装了。 - engineerDave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接