我一直在讨厌这个问题。我在几个相关的帖子中都遵循了建议,但无济于事。
我从山狮的全新安装开始,安装了命令行工具,并根据我发现通过Homebrew安装gcc-4.2并添加符号链接的其他一些帖子成功安装了Ruby 1.8.7 /usr/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.
答案 0 :(得分:15)
这笔交易是用红宝石1.8.7进行的。可能你需要这个宝石来运行therubyracer。要完成这项工作,您需要安装therubyracer gem如下:
RUBYOPT=-rrubygems gem install therubyracer
这将安装therubyracer和libv8宝石。
答案 1 :(得分:3)
在我的情况下,由于libtool的问题,编译失败了。安装libtool: unrecognized option '-static'
gem时错误为libv8
。
问题是,我的macports-Installation有一个明显不起作用的libtool。并且$PATH
中的macports-Directory位于常规目录之前,调用了错误的libtool。
从PATH-Environment变量中删除macports-Directories就可以了:来自libtool
的{{1}}被使用了,一切都很顺利。
答案 2 :(得分:3)
我遇到了这个问题并找到了解决方案here
简而言之,自己安装v8 - 如果你有家酿,你可以运行
brew install v8
然后在安装时使用系统v8
gem install libv8 -- --with-system-v8
答案 3 :(得分: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]
答案 4 :(得分:0)
使用上面的RUBYOPT = -rrubygems建议对我有用,但我必须首先卸载现有的therubyracer和libv8 gems。
答案 5 :(得分:0)
经过多次失败尝试各种方法后,我终于下载了Xcode,并且正如错误信息所暗示的那样,那就是诀窍
答案 6 :(得分: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
答案 7 :(得分:0)
首先尝试使用以下方法解决问题:
RUBYOPT=-rrubygems gem install therubyracer
如果错误仍然存在,请更新您的宝石:
bundle update
答案 8 :(得分:-2)
不同的宝石需要不同版本的GCC,因此这可能适用于所有宝石,也可能不适用,但这些符号链接解决了安装了Xcode 4.4的Mountain Lion上的json,eventmachine和libv8宝石的问题。
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