gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败

2023-11-26

按照此处的步骤操作osx mavericks 上的“gem install therubyracer -v '0.10.2'”未安装,我能够正常安装 therubyracer -v 0.10.2 和 0.12.0,但不能安装 0.11.4。

gem install therubyracer -v 0.11.4

Returns:

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

    /Users/thooper/.rbenv/versions/2.1.2/bin/ruby -r ./siteconf20150102-7132-9ct9a4.rb extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.9
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
../src/cached-powers.cc:136:18: error: unused variable 'kCachedPowersLength' [-Werror,-Wunused-const-variable]
static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
                 ^
1 error generated.
make[1]: *** [/Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o] Error 1
make: *** [x64.release] Error 2
/Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
    from /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `each'
    from /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in `verify_installation!'
    from /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/ext/libv8/location.rb:26:in `install!'
    from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=x64 \
                  -S.x64  -Dv8_can_use_vfp_instructions=true
  CXX(target) /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
  CXX(target) /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
  CXX(target) /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
  CXX(target) /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
  CXX(target) /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o

extconf failed, exit code 1

Gem files will remain installed in /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.11.8.17 for inspection.
Results logged to /Users/thooper/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/libv8-3.11.8.17/gem_make.out

这正是我遇到的问题,我使用自制版本解决了它。

Problem

我在安装 gem libv8 时遇到了问题。为了解决这个问题,我通过brew在我的系统上安装了v8,然后使用了该选项--with-system-v8.

$ brew install v8
$ gem install libv8 -v '3.11.8.13' -- --with-system-v8
$ gem install therubyracer -v '0.11.4'

gem libv8 安装没有问题,但是最后一行导致了原始问题的错误。然后我尝试了,

$ gem install therubyracer -v '0.11.4' -- --with-system-v8 --with-v8-dir=/usr/local/Cellar/v8/3.30.33.16

将其指向brew提供的v8。这样的话,错误就变了,现在告诉我,我没有提供与 v8 兼容的版本3.11.8.13.

对于那些通过谷歌搜索错误消息的人:

Building native extensions with: '--with-v8-dir=/usr/local/Cellar/v8/3.30.33.16/'
This could take a while...
ERROR:  Error installing therubyracer:
    ERROR: Failed to build gem native extension.

    /Users/zeigfreid/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb --with-v8-dir=/usr/local/Cellar/v8/3.30.33.16/
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/zeigfreid/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
    --with-pthreadlib
    --without-pthreadlib
    --with-objclib
    --without-objclib
    --enable-debug
    --disable-debug
    --with-v8-dir
    --with-v8-include
    --without-v8-include=${v8-dir}/include
    --with-v8-lib
    --without-v8-lib=${v8-dir}/lib
/Users/zeigfreid/.rvm/gems/ruby-1.9.3-p194@va_rails_3.2.11/gems/libv8-3.11.8.13/ext/libv8/location.rb:50:in `configure': You have chosen to use the version of V8 found on your system (Libv8::Location::System::NotFoundError)
and *not* the one that is bundle with the libv8 rubygem. However,
it could not be located. please make sure you have a version of
v8 that is compatible with 3.11.8.13 installed. You may
need to special --with-v8-dir options if it is in a non-standard
location

thanks,
The Mgmt

    from /Users/zeigfreid/.rvm/gems/ruby-1.9.3-p194@va_rails_3.2.11/gems/libv8-3.11.8.13/lib/libv8.rb:7:in `configure_makefile'
    from extconf.rb:32:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /Users/zeigfreid/.rvm/gems/ruby-1.9.3-p194@va_rails_3.2.11/gems/therubyracer-0.11.4 for inspection.
Results logged to /Users/zeigfreid/.rvm/gems/ruby-1.9.3-p194@va_rails_3.2.11/extensions/x86_64-darwin-13/1.9.1/therubyracer-0.11.4/gem_make.out

Solution

我决定尝试安装 v8 的早期版本。再次使用brew,

$ brew search v8
homebrew/versions/v8-315   v8
$ brew install v8-315
$ brew info v8-315
$ gem install therubyracer -v '0.11.4' -- --with-system-v8 --with-v8-dir=/usr/local/Cellar/v8-315/3.15.11

这奏效了。我最终安装的 v8 版本是 ~3.15,但这与 3.11.8 兼容

这里真正的解决方案是将所有内容更新到最新版本,我不提倡使用旧的和过时的宝石。保持您的系统干净并处于最新状态,即使这会带来伤害!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败 的相关文章

  • 如何在 Rails 3 中连接表并计算记录数?

    我有一个Collection有很多硬币的类 我正在尝试选择拥有两枚以上硬币的收藏品 目前 我可以直接通过 Ruby 来完成此操作 但效率极低 我当前的代码 collections Collection all select c c coin
  • 表单元素的自定义 HTML 错误包装器

    我想找到一种方法来自定义默认错误html div class field with errors div 参加我自己的课程 div class clearfix error div
  • 不将所需的文件包含到 vim 全方位补全中

    如果我尝试在具有 require xxx 语句的 Ruby 文件中自动完成 它会开始扫描所需的所有文件 以及所需文件所需的文件 它每次都会这样做 是否可以使 vim 自动完成功能不扫描所需文件或仅扫描特定路径中的文件 例如仅 app 以下之
  • 从 Rails 2.3.8 升级到 4.0

    我正在 Rails 2 3 8 上运行一个应用程序 我计划将其升级到 Rails 4 0 RC 版 对我来说最简单的方法是什么 我需要先升级到 Rails 3 x 吗 注意 在我当前的实现中 我使用八哥和雪貂 作为升级的一部分 我也在考虑搬
  • Swift 上的 USB 连接委托

    Swift 中是否有一个代表可以让我的班级知道何时通过计算机的 USB 插入新设备 我想知道我的程序何时可以使用新设备 Eric Aya 的答案已经相当不错了 但这里有一个 Swift 3 的改编 我把大部分丑陋的东西包裹在一个USBWat
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch
  • Heroku 码头部署

    我正在关注这篇文章https devcenter heroku com articles container registry and runtime https devcenter heroku com articles containe
  • 如何显示关联记录子集的表单,其中一些记录尚不存在?

    我有任务和用户 当用户完成任务时 我创建一个完成 其中有一个字段供用户指示他们花费了多长时间 我需要一个表格来显示所有任务及其完成状态和 time spent 属性 提交时 应更新现有的完成情况并创建新的完成情况 如果可能的话 我想在 Fo
  • Rails 4 与 MailCatcher 和 Devise gems

    我有一个带有 gem Devise 的应用程序 我需要通过电子邮件确认注册 在配置 环境 rb我添加了这个 ActionMailer Base delivery method smtp ActionMailer Base smtp sett
  • ruby CSV重复行解析

    我有一些需要处理的 CSV 数据 但无法找到匹配重复项的方法 数据看起来有点像这样 line id name item 1 item 2 item 3 item 4 1 251 john foo foo foo foo 2 251 john
  • 在 macOS 上使用 Swift 3 从剪贴板读取

    我是 Swift 的初学者 我想弄清楚如何在 macOS Swift 3 上读取已复制到剪贴板的内容 我搜索了很多 但似乎找不到任何有效的东西 我从网上尝试过的一些事情 var pasteboardItems NSPasteboardIte
  • Ruby `split':UTF-8 中的无效字节序列(ArgumentError)

    我正在尝试填充电影对象 但是在解析时u item文件我收到此错误 split UTF 8 中的无效字节序列 ArgumentError File open Data u item r do infile while line infile
  • 如何访问“可以?”细胞内的方法?

    我在用着cancan and cells我的 ruby on rails 项目中的 gems 如何访问can 细胞内的方法 Thanks 我必须这样做 尝试 class MyCell lt Cell Rails include CanCan
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • 忽略 GEM,因为它的扩展尚未构建

    在我的工作和家用计算机上 我最近将 Ruby 升级到 2 3 1 使用ruby install I use chruby作为我的 Ruby 切换器 我开始在我的终端中看到这个警告 Ignoring bcrypt 3 1 11 because
  • 为什么我无法在 Mac OS X Terminal.app 上的 Python 解释器中显示 unicode 字符?

    如果我尝试粘贴 unicode 字符 例如中间的点 在我的 python 解释器中它什么也不做 我在 Mac OS X 上使用 Terminal app 当我只是在 bash 中时 我没有遇到任何问题 但在解释器中 python Pytho
  • 在 RSpec 测试期间抑制控制台输出

    我正在测试在控制台上放置一些消息的类 包含 put p 警告等 我只是想知道在 RSpec 测试期间是否有能力抑制此输出 我压抑puts通过重定向在我的类中输出 stout到一个文本文件 这样 如果我出于任何原因需要查看输出 它就在那里 但
  • 为什么每个方法需要将其循环的值分配给变量?

    在 Rails 上工作 发现我对 Rails 的理解缺乏知识each method 不知道为什么each方法需要变量 message h2 h2 不确定为什么每个方法都需要变量 message 事实并非如此require它 你完全可以忽略它
  • Ruby:基于控制台的菜单

    我有一个名称和 URL 数组 并希望以向上 向下滚动菜单的形式向用户呈现名称列表 基本上是什么dialog允许在外壳内 我调查过ncurses ruby rdialog and HighLine但它们似乎要么作为一个项目被放弃 要么甚至从它

随机推荐

  • AWS EC2 FTP / HTML

    我真的对 Apache 不太了解 我遵循了一些教程并安装了 LAMP 堆栈 我可以成功 ftp 到 home ec2 user 并在那里上传文件 但我希望能够将文件上传到 var www html 或者只是有一个可以使用我的帐户将文件上传到
  • Sublime Text 使用什么正则表达式语法?

    Sublime Text 使用什么正则表达式语法 POSIX POSIX 扩展 崇高的文字Find and Replace功能 随着snippets 由以下设备供电升压的pcre Perl 兼容的正则表达式 engine 对于语法高亮 Su
  • 禁用某些文件类型的 nginx 缓存

    我有 nginx 设置 充当 apache 的反向代理 但是 我需要禁用 gif 缓存 我怎样才能在 nginx 上做到这一点 Thanks 这应该可以解决问题 set no cache if request uri gif set no
  • 在 golang 中运行命令并将其与进程分离

    Problem 我正在 Linux 上用 golang 编写程序 需要执行长时间运行的进程 以便 我将正在运行的进程的标准输出重定向到文件 我控制进程的用户 当我的程序退出时 进程不会终止 该进程崩溃时不会变成僵尸 我得到正在运行的进程的P
  • AngularJS 作为 SOAP 客户端

    有没有办法使用 angularJS 作为 SOAP 客户端或开发 ng SOAP 客户端服务 当然 您所需要的只是在 JavaScript 上实现 SOAP 调用 例如使用 Javascript 的最简单 SOAP 示例
  • window.location 和 window.location.href 有什么区别吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Javascript 设置 window location href 与 window location 当我在浏览器中测试这些代码时 它们似乎是相同的 有什么区别吗 1 window locatio
  • 制作 pandas 系列的真正深层副本

    我有一个pd Series每个单元格都是一个列表 我想对其进行深层复制 但看起来像pd Series copy只创建值的浅表副本 即使deep arg is True默认 example import pandas as pd sr pd
  • Python启动横幅在哪里定义的?

    我正在为我的系统编译几个不同版本的Python 我想知道启动横幅在源代码中的哪个位置定义 以便我可以为每个版本更改它 例如 当解释器启动时 它会显示 Python 3 3 1 default Apr 28 2013 10 19 42 GCC
  • makefile 中的多个冒号和等号(需要解释)

    这只是 makefile 的一部分 我不太明白发生了什么事 OBJS SRCS SRC cpp OBJ o OBJS OBJ o SRC cpp print opts cc command 我所理解的是这些行将 cpp 文件编译为 o 在
  • PowerMock可以为测试用例实例化内部类吗?

    我正在尝试测试具有多个私有类的类 是的 我知道这通常被认为是可测试性的不良实践 但这个问题与设计原则无关 我的课程看起来像这样 public class EnclosingClass private class InnerClass imp
  • 对“JNI_CreateJavaVM”窗口的未定义引用

    我试图熟悉 JNI API 但无法获得要编译的示例 C 程序 我在 Linux 中编译并运行了相同的示例 在下面的链接中发布问题后 但无法在 Windows 中编译它 我正在使用 mingw g 我已将所有包含路径更改为 Windows 路
  • Silverlight vs Flash vs HTML5,我应该关心吗?

    我阅读了一系列有关 Microsoft Silverlight 框架与 Flash 相比的优点 缺点的文章 事实上 在过去 18 个月里出现了两个版本的 Silverlight 以及超过 97 的网络浏览器已经预装了 Flash 这让我感到
  • ionic 应用程序 iOS 9 问题 [$rootScope:infdig] 达到 10 $digest() 迭代[重复]

    这个问题在这里已经有答案了 在我的 ionic angularjs 应用程序中 如果我单击 ionic 列表卡项目 我会在 iOS 9 上的过滤机制上遇到一些错误 我得到的错误 错误 rootScope infdig 已达到 10 次 di
  • ASP.NET:这个 HttpModule 有什么作用? System.ServiceModel.Activation.HttpModule

    谁能告诉我这个 HttpModule 的用途吗 它显示在我的 HttpModule 集合列表中 但我不知道它的用途 System ServiceModel Activation HttpModule 我找不到任何有关它的文档 System
  • 使用 R 将单列拆分为多个观察值

    我正在处理 HCUP 数据 该数据在一个列中具有一系列值 需要将其拆分为多个列 以下是 HCUP 数据框供参考 code label 61000 61003 excision of CNS 0169T 0169T ventricular s
  • iTunes Connect API [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 iTunes Connect 有 API 吗 某些应用程序如何将财务和销售报告下载到计算机 是否有一些 C Objective C API 包装器
  • 使用数据库的 Struts2 国际化

    我们有一个相当大的应用程序 有大量的动态内容 是否有强制 struts 使用数据库来进行 i18n 查找 而不是属性文件 如果有人曾经使用动态内容进行过国际化 我也愿意接受其他方法来解决这个问题 我不知道有一个简单的即插即用解决方案 因此您
  • 修复 IE6 中布局错误的策略?

    一般来说 解决 IE6 中布局错误的最佳方法是什么 当人们试图找出为什么你的页面突然看起来像一只猴子编写的代码时 应该寻找哪些最常见的错误或问题 要事第一 让自己得到Internet Explorer 开发人员工具栏 它是一个救星 并且与
  • 使用属性进行类实例化的 C# 到 VB.NET 语法转换

    我正在使用 Workflow Foundations 4 C 语言 并尝试编写 VB NET 表达式 有没有办法在 VB NET 中一行完成以下操作 SomeObj instance new SomeObj SomeStringProp a
  • gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败

    按照此处的步骤操作osx mavericks 上的 gem install therubyracer v 0 10 2 未安装 我能够正常安装 therubyracer v 0 10 2 和 0 12 0 但不能安装 0 11 4 gem