我知道这个问题有几个小问题,但我找不到与我的问题相匹配的问题。
我不能用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
发布于 2019-01-29 08:44:51
所以,我认为解决这个问题的方法是:
$ sudo xcodebuild -runFirstLaunch
为什么?我没有把握。我的怀疑是,在更新XCode之前,我尝试过构建ruby。但是,一旦我更新了XCode,我就怀疑错误的/旧的命令行工具仍然被引用。
我不知道到底是什么修复了这个问题,但是我完全删除了XCode,而ruby仍然没有安装。
然后我完全删除了命令行工具,而ruby仍然没有安装。
然后,我只重新安装了命令行工具,没有安装XCode,而ruby仍然没有安装。
然后我运行这个runFirstLaunch
命令并安装了ruby。
发布于 2019-02-28 18:06:46
对于任何踩在同一颗地雷上的人来说,对我来说,通过ranlib
包从homebrew
那里得到的是一个不兼容的副本。要修复它,我只需卸载它:
brew uninstall cctools
发布于 2019-03-27 15:23:54
对于那些发现这一点而没有得到上述解决方案帮助的人.
我也遇到了这个问题。在我的例子中,这是因为MacPorts在我升级到(MacOS) Mojave之后已经过时了。
我遵循了MacPorts迁移指南中列出的步骤:https://trac.macports.org/wiki/Migration
关闭和重新开放的终点站(只有提单)
跑了rvm install ruby
,得到了Install of ruby-2.6.0 - #complete
,万岁!
https://stackoverflow.com/questions/54363030
复制相似问题