我知道与此有关的一些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
答案 0 :(得分:2)
对于踩在同一地雷上的其他人来说,对我来说,是ranlib
的{{1}}包中的homebrew
副本与cctools
包不兼容。要修复它,我刚刚将其卸载:
brew uninstall cctools
答案 1 :(得分:2)
对于那些发现此问题但上述解决方案没有帮助的人...
我也遇到了这个问题。就我而言,这是由于我升级到(MacOS)Mojave之后MacPorts已过时。
我遵循了MacPorts迁移指南中列出的步骤: https://trac.macports.org/wiki/Migration
关闭并重新打开的终端机(仅b / c)
跑rvm install ruby
并得到Install of ruby-2.6.0 - #complete
,万岁!
答案 2 :(得分:0)
因此,我认为对此修复程序正在运行:
$ sudo xcodebuild -runFirstLaunch
为什么?我不确定。我的怀疑是我试图在更新XCode之前构建ruby。但是,一旦我更新了XCode,我怀疑还是以某种方式引用了错误/较旧的命令行工具。
我不知道到底是什么解决了这个问题,但是我完全删除了XCode,而ruby仍然没有安装。
然后我完全删除了命令行工具,而ruby仍然没有安装。
然后,我只重新安装了没有XCode的命令行工具,而ruby仍然没有安装。
然后我运行了runFirstLaunch
命令并安装了ruby。