ruby 在OSX Ventura上运行“__rvm_make -j8”RVM安装时出错

9nvpjoqh  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(142)

既然已经过了几个月了我想我最后还是来问问吧。我无法在MacOS Ventura上使用RVM安装任何版本的Ruby。这似乎与其他人遇到的问题无关。我试过所有其他的解决办法。但这似乎与OpenSSL或类似的东西无关。
我收到的错误也与这些情况有点不同:

Error running '__rvm_make -j8'

首先…这是我运行时得到的日志的最后几行:rvm install 2.6.10

objspace.c:630:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        imemo_type_ids[10] = rb_intern("imemo_parser_strterm");
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1826:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
objspace.c:630:23: note: '{' token is here
        imemo_type_ids[10] = rb_intern("imemo_parser_strterm");
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1826:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1811:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    {                                                   \
    ^
objspace.c:630:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        imemo_type_ids[10] = rb_intern("imemo_parser_strterm");
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1826:24: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1816:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
    }
    ^
objspace.c:630:23: note: ')' token is here
        imemo_type_ids[10] = rb_intern("imemo_parser_strterm");
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1826:56: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                       ^
1342 warnings generated.
linking shared-object objspace.bundle
make: *** [build-ext] Error 2
+__rvm_make:0> return 2

我还安装了最新版本的macports(并使其路径正确工作),并重新安装了OpenSSL。卸载和重新安装HomeBrew多次...似乎没有什么帮助。

更新:这是我能找到的一个错误。

error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \

我到处找日志,但找不到第二个错误。

6ioyuze2

6ioyuze21#

很难准确地判断我是如何解决这个问题的。但我会尽力回溯的。

1.未安装Homebrew

arch -arm64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

如果你使用的是M1芯片,那么你必须在每个命令之前使用arch -arm 64,否则它会失败。

2.搜索所有剩余的自制目录

sudo rm -rf /opt/homebrew

3.重新安装Homebrew

arch -arm64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

卸载Homebrew并删除其所有目录的原因是,如果你像我一样,你可能在让它工作的道路上尝试了一百万件事。删除Homebrew及其相关目录应该可以消除您可能犯下的任何错误或绝望的配置赌博。不过,要确定的是...你应该寻找隐藏的配置文件,以确保它们都没有引用Ruby。

4.使用rvm安装Ruby

arch -arm64 rvm install 3.2.2

你必须再次使用“arch -arm 64”,否则你的安装绝对会失败。只有这一次错误代码为“1”而不是“2”。
就是这样!安装完成。希望这对某人有帮助。

nnt7mjpx

nnt7mjpx2#

请尝试以下操作:

brew install openssl
  rvm install 2.6.10 --with-openssl-dir=`brew --prefix openssl`

相关问题