7

我一直在为此绞尽脑汁。我遵循了几个相关帖子中的建议,但无济于事。

我从全新安装的 Mountain Lion 开始,安装了命令行工具,并根据我发现的通过 Homebrew 安装 gcc-4.2 并将符号链接添加到 /usr/ 的其他一些帖子成功安装了 Ruby 1.8.7 bin/gcc-4.2。

但是,现在我无法成功安装 libv8。下面的错误是我从现有建议中得到的。

任何额外的输入?

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/Eric/.rbenv/versions/1.8.7-p352/bin/ruby extconf.rb 
creating Makefile
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Traceback (most recent call last):
  File "build/gyp/gyp", line 18, in <module>
    sys.exit(gyp.main(sys.argv[1:]))
  File "build/gyp/pylib/gyp/__init__.py", line 480, in main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "build/gyp/pylib/gyp/generator/make.py", line 2085, in GenerateOutput
    part_of_all=qualified_target in needed_targets)
  File "build/gyp/pylib/gyp/generator/make.py", line 756, in Write
    self.xcode_settings, self.Absolutify, self.Pchify))
  File "build/gyp/pylib/gyp/generator/make.py", line 1132, in WriteSources
    cflags = self.xcode_settings.GetCflags(configname)
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 258, in GetCflags
    sdk_root = self._SdkPath()
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 247, in _SdkPath
    return os.path.join(self._GetSdkBaseDir(), '%s.sdk' % sdk_root)
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 233, in _GetSdkBaseDir
    raise Exception('Error %d running xcode-select' % job.returncode)
Exception: Error 2 running xcode-select
make: *** [out/Makefile.x64] Error 1
Using compiler: g++
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=x64 \
                  -S.x64 -Dhost_arch=x64
xcode-select: Error: No Xcode is selected. Use xcode-select -switch <path-to-xcode>, or see the xcode-select manpage (man xcode-select) for further information.



Gem files will remain installed in /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3 for inspection.
Results logged to /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3/ext/libv8/gem_make.out
An error occured while installing libv8 (3.11.8.3), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.11.8.3'` succeeds before bundling.
4

9 回答 9

15

这笔交易适用于 ruby​​ 1.8.7。可能你需要这个 gem 来运行 therubyracer。要完成这项工作,您需要按如下方式安装 therubyracer gem:

RUBYOPT=-rrubygems gem install therubyracer

这将安装 therubyracer 和 libv8 gems。

来源:http ://coderwall.com/p/y1djxq

于 2012-08-08T23:38:35.970 回答
3

在我的情况下,由于 libtool 的问题,编译失败。错误是libtool: unrecognized option '-static'在安装libv8gem 时出现的。

问题是,我的 macports-Installation 有一个明显不工作的 libtool。$PATH并且在常规目录之前的 macports-Directory调用了错误的 libtool。

从 PATH-Environment 变量中删除 macports-Directories 起到了作用:使用了libtool fromXCode并且一切正常。

于 2012-12-19T09:34:14.893 回答
3

我遇到了这个问题并在这里找到了解决方案

简而言之,自己安装 v8 - 如果你有自制软件,你可以运行

brew install v8

然后在安装的时候使用system v8

gem install libv8 -- --with-system-v8
于 2013-12-12T03:35:09.493 回答
2

在 OS X 10.7.5 上遇到此问题后,以下 Gemfile 条目对我有用:

gem "libv8", '3.11.8.13'

> ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]
于 2013-02-04T15:03:04.053 回答
0

以上答案都不适合我。这是这样做的:

gem install libv8 -v '3.11.8.3'
gem install therubyracer -v '0.11.0beta5'

参考:https ://coderwall.com/p/s8ofka

我的系统:

OSX Mountain Lion
Ruby 1.9.3
于 2013-01-13T11:23:24.293 回答
0

使用上面的 RUBYOPT=-rrubygems 建议对我有用,但我必须先卸载现有的 therubyracer 和 libv8 gem。

于 2012-11-13T00:27:15.900 回答
0

First try and resolve the issue by using:

RUBYOPT=-rrubygems gem install therubyracer

If the error persists, update your gems:

bundle update
于 2013-11-21T10:05:00.970 回答
0

经过各种方法的多次失败尝试后,我终于下载了 Xcode,正如错误消息所暗示的那样,这可以解决问题

于 2012-12-10T00:15:45.597 回答
-2

不同的 gem 需要不同版本的 GCC,因此这可能适用于所有 gem,也可能不适用,但这些符号链接解决了安装 Xcode 4.4 的 Mountain Lion 上的 json、eventmachine 和 libv8 gem 的问题。

sudo ln -s /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

sudo ln -s /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/g++-4.2

于 2012-07-31T22:15:35.587 回答