首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在Mojave上安装任何版本的ruby -内部ranlib命令失败

无法在Mojave上安装任何版本的ruby -内部ranlib命令失败
EN

Stack Overflow用户
提问于 2019-01-25 10:07:04
回答 3查看 1.9K关注 0票数 9

我知道这个问题有几个小问题,但我找不到与我的问题相匹配的问题。

我不能用rvm或rbenv安装任何版本的ruby。两者都会导致相同的错误。例如,下面是安装ruby 2.5.3时日志的摘录:

代码语言:javascript
代码运行次数:0
运行
复制
compiling loadpath.c
making srcs under enc
linking static-library libruby.2.5.3-static.a
make[1]: Nothing to be done for `srcs'.
generating transdb.h
/opt/local/bin/ranlib: object: libruby.2.5.3-static.a(dln.o) malformed object (unknown load command 1)
ar: internal ranlib command failed
make: *** [libruby.2.5.3-static.a] Error 1
make: *** Waiting for unfinished jobs....
transdb.h updated

问题似乎就在这里:

代码语言:javascript
代码运行次数:0
运行
复制
/opt/local/bin/ranlib: object: libruby.2.5.3-static.a(dln.o) malformed object (unknown load command 1)
ar: internal ranlib command failed
make: *** [libruby.2.5.3-static.a] Error 1

我试过的

  • 安装,重新安装,卸载rvm,rbenv。
  • 更新,重新安装XCode。
  • 删除、安装、XCode命令行工具。

是什么引起的?

更新

gcc --version返回:

代码语言:javascript
代码运行次数:0
运行
复制
gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.10.44.4)
Target: x86_64-apple-darwin18.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-29 16:44:51

所以,我认为解决这个问题的方法是:

$ sudo xcodebuild -runFirstLaunch

为什么?我没有把握。我的怀疑是,在更新XCode之前,我尝试过构建ruby。但是,一旦我更新了XCode,我就怀疑错误的/旧的命令行工具仍然被引用。

我不知道到底是什么修复了这个问题,但是我完全删除了XCode,而ruby仍然没有安装。

然后我完全删除了命令行工具,而ruby仍然没有安装。

然后,我只重新安装了命令行工具,没有安装XCode,而ruby仍然没有安装。

然后我运行这个runFirstLaunch命令并安装了ruby。

票数 0
EN

Stack Overflow用户

发布于 2019-03-01 02:06:46

对于任何踩在同一颗地雷上的人来说,对我来说,通过ranlib包从homebrew那里得到的是一个不兼容的副本。要修复它,我只需卸载它:

brew uninstall cctools

票数 9
EN

Stack Overflow用户

发布于 2019-03-27 23:23:54

对于那些发现这一点而没有得到上述解决方案帮助的人.

我也遇到了这个问题。在我的例子中,这是因为MacPorts在我升级到(MacOS) Mojave之后已经过时了。

我遵循了MacPorts迁移指南中列出的步骤:https://trac.macports.org/wiki/Migration

关闭和重新开放的终点站(只有提单)

跑了rvm install ruby,得到了Install of ruby-2.6.0 - #complete,万岁!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54363030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档