[英]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
这是什么原因造成的?
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 ruby
并Install of ruby-2.6.0 - #complete
, Install 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.