ruby-on-rails - 为 Mac 10.9/Rails 3.2.11 安装 therubyracer gem 时出错

标签 ruby-on-rails ruby therubyracer

知道为什么我不能为 Mac 10.9 和 Rails 3 安装 therubyracer gem 吗?

Installing therubyracer (0.11.3) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/xiruki/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb 
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... yes
creating Makefile

make
compiling accessor.cc
clang: warning: argument unused during compilation: '-rdynamic'
In file included from accessor.cc:1:
./rr.h:462:14: error: no type named 'AccessorGetter' in namespace 'v8'
  inline v8::AccessorGetter accessorGetter() {return &AccessorGetter;}
         ~~~~^
./rr.h:463:14: error: no type named 'AccessorSetter' in namespace 'v8'
  inline v8::AccessorSetter accessorSetter() {return RTEST(set) ? &AccessorSetter : 0;}
         ~~~~^
./rr.h:465:14: error: no type named 'NamedPropertyGetter' in namespace 'v8'
  inline v8::NamedPropertyGetter namedPropertyGetter() {return &NamedPropertyGetter;}
         ~~~~^
./rr.h:466:14: error: no type named 'NamedPropertySetter' in namespace 'v8'
  inline v8::NamedPropertySetter namedPropertySetter() {return RTEST(set) ? &NamedPropertySetter : 0;}
         ~~~~^
./rr.h:467:14: error: no type named 'NamedPropertyQuery' in namespace 'v8'
  inline v8::NamedPropertyQuery namedPropertyQuery() {return RTEST(query) ? &NamedPropertyQuery : 0;}
         ~~~~^
./rr.h:468:14: error: no type named 'NamedPropertyDeleter' in namespace 'v8'
  inline v8::NamedPropertyDeleter namedPropertyDeleter() {return RTEST(deleter) ? &NamedPropertyDeleter : 0;}
         ~~~~^
./rr.h:469:14: error: no type named 'NamedPropertyEnumerator' in namespace 'v8'
  inline v8::NamedPropertyEnumerator namedPropertyEnumerator() {return RTEST(enumerator) ? &NamedPropertyEnumerator : 0;}
         ~~~~^
./rr.h:471:14: error: no type named 'IndexedPropertyGetter' in namespace 'v8'
  inline v8::IndexedPropertyGetter indexedPropertyGetter() {return &IndexedPropertyGetter;}
         ~~~~^
./rr.h:472:14: error: no type named 'IndexedPropertySetter' in namespace 'v8'
  inline v8::IndexedPropertySetter indexedPropertySetter() {return RTEST(set) ? &IndexedPropertySetter : 0;}
         ~~~~^
./rr.h:473:14: error: no type named 'IndexedPropertyQuery' in namespace 'v8'
  inline v8::IndexedPropertyQuery indexedPropertyQuery() {return RTEST(query) ? &IndexedPropertyQuery : 0;}
         ~~~~^
./rr.h:474:14: error: no type named 'IndexedPropertyDeleter' in namespace 'v8'
  inline v8::IndexedPropertyDeleter indexedPropertyDeleter() {return RTEST(deleter) ? &IndexedPropertyDeleter : 0;}
         ~~~~^
./rr.h:475:14: error: no type named 'IndexedPropertyEnumerator' in namespace 'v8'
  inline v8::IndexedPropertyEnumerator indexedPropertyEnumerator() {return RTEST(enumerator) ? &IndexedPropertyEnumerator : 0;}
         ~~~~^
./rr.h:481:20: error: no type named 'AccessorInfo' in namespace 'v8'
    Info(const v8::AccessorInfo& info);
               ~~~~^
./rr.h:487:22: error: no type named 'AccessorInfo' in namespace 'v8'
    inline const v8::AccessorInfo* operator->() {return this->info;}
                 ~~~~^
./rr.h:501:15: error: no type named 'AccessorInfo' in namespace 'v8'
    const v8::AccessorInfo* info;
          ~~~~^
./rr.h:505:89: error: no type named 'AccessorInfo' in namespace 'v8'
  static v8::Handle<v8::Value> AccessorGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
                                                                                    ~~~~^
./rr.h:506:100: error: no type named 'AccessorInfo' in namespace 'v8'
  static void AccessorSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
                                                                                               ~~~~^
./rr.h:508:94: error: no type named 'AccessorInfo' in namespace 'v8'
  static v8::Handle<v8::Value> NamedPropertyGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
                                                                                         ~~~~^
./rr.h:509:122: error: no type named 'AccessorInfo' in namespace 'v8'
  static v8::Handle<v8::Value> NamedPropertySetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
                                                                                                                     ~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [accessor.o] Error 1


Gem files will remain installed in /Users/xiruki/.rvm/gems/ruby-1.9.3-p448@ensemblist/gems/therubyracer-0.11.3 for inspection.
Results logged to /Users/xiruki/.rvm/gems/ruby-1.9.3-p448@ensemblist/gems/therubyracer-0.11.3/ext/v8/gem_make.out

An error occurred while installing therubyracer (0.11.3), and Bundler cannot continue.
Make sure that `gem install therubyracer -v '0.11.3'` succeeds before bundling.

任何解决方法将不胜感激。

最佳答案

您在 Gemfile 中声明了什么?

试试这个:

gem 'therubyracer',平台::ruby

关于ruby-on-rails - 为 Mac 10.9/Rails 3.2.11 安装 therubyracer gem 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20048439/

相关文章:

ruby-on-rails - rails 错误的年份 -4712

ruby exec 使用我的 ~/.bashrc 中的函数

ruby-on-rails - 在 OS X 上安装多个版本的 Rails

osx-yosemite - 无法在优胜美地的干净安装和Ruby的干净版本上安装therubyracer

ruby-on-rails - 有没有办法在 Windows 中安装 therubyracer?

ruby-on-rails - 在Gemfile中将插件指定为来自github的gem

ruby-on-rails - 为什么我的索引缺少 Thinking Sphinx 的文档?

ruby-on-rails - Rails 应用程序上的轮询、网络套接字或 cometd

Ruby:从内部 block 产生不起作用

ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错)