繁体   English   中英

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

[英]Cannot install any version of ruby on Mojave - internal ranlib command failed

我知道这个问题有一些 silimar 问题,但我找不到与我的问题相匹配的问题。

我无法使用 rvm 或 rbenv 安装任何版本的 ruby​​。 两者都会导致相同的错误。 例如,这是安装 ruby​​ 2.5.3 时的日志摘录:

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

问题似乎在这里:

/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返回:

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

对于踏上同一个地雷的任何其他人,对我来说,是通过cctools包从homebrew获得了不兼容的ranlib副本。 为了修复它,我刚刚卸载了它:

brew uninstall cctools

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

我也遇到了这个问题。 就我而言,这是由于我升级到 (MacOS) Mojave 后 MacPorts 已过时。

我按照 MacPorts 迁移指南中列出的步骤操作: https : //trac.macports.org/wiki/Migration

关闭并重新开放的航站楼(仅 b/c)

运行rvm install rubyInstall of ruby-2.6.0 - #completeInstall of ruby-2.6.0 - #complete

所以,我认为对此的修复正在运行:

$ sudo xcodebuild -runFirstLaunch

为什么? 我不知道。 我怀疑我在更新 XCode 之前尝试构建 ruby​​。 但是一旦我更新了 XCode,我怀疑仍然以某种方式引用了错误/较旧的命令行工具。

我不知道究竟是什么解决了这个问题,但我完全删除了 XCode,而 ruby​​ 仍然没有安装。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM