无法在 Yosemite 的全新安装和 ruby​​ 的全新版本上安装 therubyracer

Posted

技术标签:

【中文标题】无法在 Yosemite 的全新安装和 ruby​​ 的全新版本上安装 therubyracer【英文标题】:Unable to install therubyracer on clean install of Yosemite and clean version of ruby 【发布时间】:2015-06-17 16:09:39 【问题描述】:

有很多人有类似的问题,我过去在其他机器上也是其中之一,但那里的解决方案似乎都不起作用——我的错误似乎也与其他有类似问题的人不同:

Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
    ERROR: Failed to build gem native extension.

    /Users/username/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -r ./siteconf20150412-25981-y7cvt6.rb extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling accessor.cc
clang: warning: argument unused during compilation: '-rdynamic'
In file included from accessor.cc:1:
In file included from ./rr.h:6:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
1 error generated.
make: *** [accessor.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/ecnalyr/.rvm/gems/ruby-2.0.0-p353@canopy/gems/therubyracer-0.12.2 for inspection.
Results logged to /Users/ecnalyr/.rvm/gems/ruby-2.0.0-p353@canopy/extensions/x86_64-darwin-14/2.0.0/therubyracer-0.12.2/gem_make.out

运行时:

gem install therubyracer -v '0.12.2'

或者干脆

bundle install

therubyracer 包含在我的 gemfile 中。

我正在运行 Yosemite 10.10.3、Ruby 2.0.0-p353,我已卸载所有内容并尝试了经常出现此类问题的 gem install libv8 -- --with-system-v8 解决方案,但没有找到解决方案。

【问题讨论】:

【参考方案1】:

我能够通过重新安装 Command Line Tools for XCode 6.2(而不是 XCode 6.3 的那些)来解决这个问题。

Stack Overflow 29529455有更多讨论。

【讨论】:

你不需要,至少我没有。【参考方案2】:

创建一个临时文件“__debug”为我解决了这个问题。

在终端中运行此命令:

echo '#define _LIBCPP_ASSERT(x, m) ((void)0)' | sudo tee -a /Library/Developer/CommandLineTools/usr/include/c++/v1/__debug > /dev/null

【讨论】:

以上是关于无法在 Yosemite 的全新安装和 ruby​​ 的全新版本上安装 therubyracer的主要内容,如果未能解决你的问题,请参考以下文章

使用 osx Yosemite 安装 ruby​​racer 时出错

Macports MAMP Yosemite 无法加载虚拟主机 - 虚拟主机无法正常工作

在 OSX 10.10 Yosemite 上安装 Nokogiri

无法在 Yosemite 上安装 Homebrew:/usr/local/lib 已经存在

无法上班CocoaPods和Yosemite

无法通过自制 OSX Yosemite 安装 mcrypt