RVM のインストール時にこのエラー (「__rvm_make -j12」の実行エラー) が発生するのはなぜですか?
概要
Ruby バージョン マネージャーのインストール スクリプトを実行すると、次のエラーが発生し続けます。
Error running '__rvm_make -j12',
please read /Users/wikipediabrown/.rvm/log/1701736892_ruby-3.0.0/make.log
There has been an error while running make. Halting the installation.
何が間違っているのか分かりません。ログはとにかく不可解で、何も教えてくれません。
ログの最後は次のようになります。
ld: warning: ignoring duplicate libraries: '-lruby.3.1'
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
In file included from ossl_x509revoked.c:10:
In file included from ./ossl.h:171:
./openssl_missing.h:195:11: warning: 'TS_VERIFY_CTS_set_certs' macro redefined [-Wmacro-redefined]
# define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
^
/opt/homebrew/Cellar/openssl@3/3.2.0/include/openssl/ts.h:426:11: note: previous definition is here
# define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert)
^
1 warning generated.
1 warning generated.
linking shared-object ripper.bundle
ld: warning: ignoring duplicate libraries: '-lruby.3.1'
7 warnings generated.
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [build-ext] Error 2
++ return 2
解決策
結局のところ、これはマシン上の Java が混乱していることに問題があることがわかりました。一部のコンテキストでは、j12 は j* であり、j は何か (j10、j11、j12 など) を意味します。これは、Java のインストールがめちゃくちゃで、誰も教えたがらないことを示しているだけです。 Mac OS X 10.6 以降を実行している場合は、自分でインストールする必要があることがわかります。奴隷船以来同じマシンに乗っていると、それを思い出すのは難しいです。しかし、解決策があります。
この回答をここで確認してください
単に実行する場合:
醸造インストールopenjdk
そして絶対にそうではありません:
醸造インストールJava
あよ、ホントに!!!そんなものプレーヤーを実行しないでください
そして、警告セクションにあるように、見逃すのは非常に簡単なので、これを実行する必要があります。
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
その後は大丈夫です。これは、正しいエラー メッセージの送信が失敗しているだけです。皆さん、この後も良い人生を送ってください。