无法在 MacOS 10.14.2 Mojave 上使用 RVM 安装任何 Ruby:错误 运行 '__rvm_make -j4'
Unable to install any Ruby with RVM on MacOS 10.14.2 Mojave: Error running '__rvm_make -j4'
将 MacOS 升级到 10.14.2 Mojave 后,我无法再使用 RVM 安装任何 Ruby 版本。它总是给出这样的错误:
$rvm install 2.5.3
ruby-2.5.3 - #removing src/ruby-2.5.3..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.14/x86_64/ruby-2.5.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/jdinse/.rvm/rubies/ruby-2.5.3, this may take a while depending on your cpu(s)...
ruby-2.5.3 - #downloading ruby-2.5.3, this may take a while depending on your connection...
ruby-2.5.3 - #extracting ruby-2.5.3 to /Users/jdinse/.rvm/src/ruby-2.5.3.....
ruby-2.5.3 - #configuring....................................................................
ruby-2.5.3 - #post-configuration.
ruby-2.5.3 - #compiling....................
Error running '__rvm_make -j4',
please read /Users/jdinse/.rvm/log/1547136259_ruby-2.5.3/make.log
There has been an error while running make. Halting the installation.
查看make.log
,唯一的错误是这样的:
making srcs under enc
make[1]: Nothing to be done for `srcs'.
generating transdb.h
linking static-library libruby.2.5.3-static.a
libtool: object: dln.o malformed object (unknown load command 1)
libtool: object: localeinit.o malformed object (unknown load command 1)
libtool: object: loadpath.o malformed object (unknown load command 1)
libtool: object: array.o malformed object (unknown load command 1)
libtool: object: bignum.o malformed object (unknown load command 1)
libtool: object: class.o malformed object (unknown load command 1)
...
到目前为止我尝试过的:
- 重新安装 RVM
- 尝试使用之前的 RVM 1.29.6 或 master 分支
- 重新安装 Homebrew
- 重新安装XCode
- 重新安装命令行工具
- 用自制软件安装了 gcc、gcc@7 或 gcc@8,或者全部卸载了
- 已安装 openssl 或 openssl@1.1,或全部卸载
这和类似问题的任何其他提示都没有帮助。
有什么想法吗?或者知道是什么导致了错误 libtool: object: dln.o malformed object (unknown load command 1)
以及如何解决它?
您是否安装了多个版本的boost?我采取了以下步骤来解决这个问题(尽管我使用的是 rbenv)。
首先我删除了我的 xcode 库:
rm -rf /Library/Developer/CommandLineTools
然后我重新安装了它:
xcode-select --install
然后我 运行 brew ls
发现我有两个版本的 boost。 boost
和 boost@1.6.0
。我删除了 boost@1.6.0
和 boost
并重新安装了 boost
并确保它是通过 brew link boost
.
链接的
在那之后似乎工作了。
我终于能够通过完全删除(非常旧的版本)MacPorts 来修复它。其他一切都一直给我同样的问题。
希望这对您也有用。我花了一天多的时间才找到导致我走到这一步的提示。
我也运行关注这个问题。在我的情况下,这是由于我升级到 (MacOS) Mojave 后 MacPorts 已过时。
我按照此处 MacPorts 迁移指南中列出的步骤操作:
https://trac.macports.org/wiki/Migration
关闭并重新打开终端(仅 b/c)
运行 rvm install ruby
得到了 Install of ruby-2.6.0 - #complete
,万岁!
将 MacOS 升级到 10.14.2 Mojave 后,我无法再使用 RVM 安装任何 Ruby 版本。它总是给出这样的错误:
$rvm install 2.5.3
ruby-2.5.3 - #removing src/ruby-2.5.3..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.14/x86_64/ruby-2.5.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/jdinse/.rvm/rubies/ruby-2.5.3, this may take a while depending on your cpu(s)...
ruby-2.5.3 - #downloading ruby-2.5.3, this may take a while depending on your connection...
ruby-2.5.3 - #extracting ruby-2.5.3 to /Users/jdinse/.rvm/src/ruby-2.5.3.....
ruby-2.5.3 - #configuring....................................................................
ruby-2.5.3 - #post-configuration.
ruby-2.5.3 - #compiling....................
Error running '__rvm_make -j4',
please read /Users/jdinse/.rvm/log/1547136259_ruby-2.5.3/make.log
There has been an error while running make. Halting the installation.
查看make.log
,唯一的错误是这样的:
making srcs under enc
make[1]: Nothing to be done for `srcs'.
generating transdb.h
linking static-library libruby.2.5.3-static.a
libtool: object: dln.o malformed object (unknown load command 1)
libtool: object: localeinit.o malformed object (unknown load command 1)
libtool: object: loadpath.o malformed object (unknown load command 1)
libtool: object: array.o malformed object (unknown load command 1)
libtool: object: bignum.o malformed object (unknown load command 1)
libtool: object: class.o malformed object (unknown load command 1)
...
到目前为止我尝试过的:
- 重新安装 RVM
- 尝试使用之前的 RVM 1.29.6 或 master 分支
- 重新安装 Homebrew
- 重新安装XCode
- 重新安装命令行工具
- 用自制软件安装了 gcc、gcc@7 或 gcc@8,或者全部卸载了
- 已安装 openssl 或 openssl@1.1,或全部卸载
这和类似问题的任何其他提示都没有帮助。
有什么想法吗?或者知道是什么导致了错误 libtool: object: dln.o malformed object (unknown load command 1)
以及如何解决它?
您是否安装了多个版本的boost?我采取了以下步骤来解决这个问题(尽管我使用的是 rbenv)。
首先我删除了我的 xcode 库:
rm -rf /Library/Developer/CommandLineTools
然后我重新安装了它:
xcode-select --install
然后我 运行 brew ls
发现我有两个版本的 boost。 boost
和 boost@1.6.0
。我删除了 boost@1.6.0
和 boost
并重新安装了 boost
并确保它是通过 brew link boost
.
在那之后似乎工作了。
我终于能够通过完全删除(非常旧的版本)MacPorts 来修复它。其他一切都一直给我同样的问题。
希望这对您也有用。我花了一天多的时间才找到导致我走到这一步的提示。
我也运行关注这个问题。在我的情况下,这是由于我升级到 (MacOS) Mojave 后 MacPorts 已过时。
我按照此处 MacPorts 迁移指南中列出的步骤操作: https://trac.macports.org/wiki/Migration
关闭并重新打开终端(仅 b/c)
运行 rvm install ruby
得到了 Install of ruby-2.6.0 - #complete
,万岁!