ruby 如何修复运行“__rvm_make -j8”时的错误

yftpprvb  于 2023-08-04  发布在  Ruby
关注(0)|答案(2)|浏览(169)

我在安装Ruby 2.7.1时遇到问题
我得到这个错误:

Error running '__rvm_make -j8',
please read /Users/luqman/.rvm/log/1690926841_ruby-2.7.1/make.log

There has been an error while running make. Halting the installation

字符串
我的日志文件充满了错误,我不能在这里分享,我只是分享它的开始和结束部分。
起始部分是:

ast.c:115:19: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));
                  ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
./include/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
        rb_funcallv(recv, mid, \
                          ^~~
./internal.h:2411:54: note: expanded from macro 'rb_funcallv'
        rb_funcallv_with_cc(&rb_funcallv_data, recv, mid, argc, argv); \
                                                     ^~~
ast.c:115:19: note: '{' token is here
    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));


结束部分:

linking shared-object socket.bundle
93 warnings generated.
53 warnings generated.
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
13 warnings generated.
linking shared-object ripper.bundle
make: *** [build-ext] Error 2
+__rvm_make:0> return 2


到目前为止我做了哪些步骤:

  • 我已经重新安装了rvm
  • 更新Brew
  • 升级Brew
  • OpensSL升级

我也尝试了其他解决方案从互联网上其中包括

  • 添加opensSl的特定路径,如:第一个月
  • 更新Xcode

Mac版本是Ventura 13.2.1
没有任何工作,我真的很感激在这方面的任何帮助!

r6hnlfcb

r6hnlfcb1#

我今天遇到了一个类似的问题,其中一部分是brew defaulting to openssl 3(credit):

brew install openssl@1.1
rvm install ruby-2.7.1 --with-openssl-dir=$(brew --prefix openssl@1.1)

字符串
我最好的猜测是,所需的Ruby版本不支持您的OS版本。尝试更新的东西(我不得不去3.x以上)

cvxl0en2

cvxl0en22#

所以这对我很有效
brew reinstall openssl@1.1是否还安装了其他版本的openssl?如果是这样,请删除它们。(像一些使用openssl@3的,我们可以用我们的openssl版本配置,反之亦然)
brew unlink openssl && brew link openssl@1.1 --force现在我只安装一个openssl并删除其余的

echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc   
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
rvm install ruby-2.7.1 --with-openssl-dir=/usr/local/opt/openssl@1.1 --verify-downloads 1

字符串
这个链接可能对一些人也有帮助。rvm make j8 error

相关问题