在 macOS Monterey 上运行 '__rvm_make install' 出现错误。

5

我正在尝试使用rvm在Mac(12.2.1)上安装ruby 2.7.0版本,但是遇到以下错误,并尝试了github上所有可能的解决方案,但似乎没有效果。甚至尝试使用rbenv也出现同样的错误。请帮忙,谢谢。

rashmi.b@xxxx Documents % rvm install 2.7.0     
ruby-2.7.0 - #removing src/ruby-2.7.0 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/12.2/x86_64/ruby-2.7.0.
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/rashmi.b/.rvm/rubies/ruby-2.7.0, this may take a while depending on your cpu(s)...
ruby-2.7.0 - #downloading ruby-2.7.0, this may take a while depending on your connection...
ruby-2.7.0 - #extracting ruby-2.7.0 to /Users/rashmi.b/.rvm/src/ruby-2.7.0 - please wait
ruby-2.7.0 - #configuring - please wait
ruby-2.7.0 - #post-configuration - please wait
ruby-2.7.0 - #compiling - please wait
ruby-2.7.0 - #installing - please wait
Error running '__rvm_make install',
please read /Users/rashmi.b/.rvm/log/1647236002_ruby-2.7.0/install.log
There has been an error while running make install. Halting the installation.

/Users/rashmi.b/.rvm/log/1647236002_ruby-2.7.0/install.log =>

/用户/rashmi.b/.rvm/日志/1647236002_ruby-2.7.0/安装日志 =>

generating x86_64-darwin21-fake.rb
x86_64-darwin21-fake.rb updated
        BASERUBY = /usr/bin/ruby --disable=gems
        CC = gcc
        LD = ld
        LDSHARED = gcc -dynamiclib
        CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -std=gnu99  -fno-common -pipe
        XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/x86_64-darwin21 -I./include -I. -I./enc/unicode/12.1.0
        CPPFLAGS = -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT
        DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -install_name /Users/rashmi.b/.rvm/rubies/ruby-2.7.0/lib/libruby.2.7.dylib -compatibility_version 2.7 -current_version 2.7.0  -fstack-protector-strong -framework Security -framework Foundation  -fstack-protector-strong -framework Security -framework Foundation
        SOLIBS = -lpthread -lgmp -ldl -lobjc
        LANG =
        LC_ALL =
        LC_CTYPE = UTF-8
        MFLAGS =
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: x86_64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
generating enc.mk
making srcs under enc
make[1]: Nothing to be done for `srcs'.
generating transdb.h
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk updated
generating makefile exts.mk
exts.mk unchanged
./revision.h unchanged
make[1]: Nothing to be done for `note'.
making enc
make[1]: Nothing to be done for `enc'.
making trans
make[1]: Nothing to be done for `./enc/trans'.
making encs
make[1]: Nothing to be done for `encs'.
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -r./x86_64-darwin21-fake ./tool/rbinstall.rb --make="/Library/Developer/CommandLineTools/usr/bin/make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --exclude=doc
make: *** [do-install-nodoc] Killed: 9
+__rvm_make:0> return 2

Openssl版本 - 3.0.1 14


你是否遵循错误信息中的提示:“请阅读 /Users/rashmi.b/.rvm/log/1647236002_ruby-2.7.0/install.log”?里面有什么内容?请编辑你的问题并添加日志文件的内容。 - Holger Just
谢谢。我已经更新了日志内容。 - Rashmi Balkur
4个回答

4

如果在OSX Monterey上安装Ruby 2.7.0时遇到问题,请使用以下方法,而不是浪费太多尝试:

  • brew install ruby-build
  • brew install rbenv
  • CFLAGS="-Wno-error=implicit-function-declaration" rbenv install 2.7.0
  • rbenv global 2.7.0
  • rbenv local --unset
  • rbenv init -
  • echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

第二部分解决方案的来源在这里,通过操作系统选择您刚刚安装的版本 https://dev59.com/lmgu5IYBdhLWcg3w9ryX#39238995

将2.7.0替换为您需要的版本


这对我有用!如果您没有使用bash_profile,请使用~/.zshrc - iammtander

0

看起来有些东西强制终止了您的编译过程。不幸的是,外部进程并不清楚是什么,但可能是您的Mac上的某个病毒扫描器或其他安全软件。

无论如何,请注意目前没有任何发布的Ruby支持OpenSSL 3.0。在此期间,您必须使用OpenSSL 1.1.1。


0

0

我尝试安装 Ruby 3.2.1。 出现了这样的错误:Error running '__rvm_make -j10' 通过将线程数降低解决了问题。 创建文件~/.rvmrc 添加以下内容:

rvm_make_flags=( -j1 )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接