質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

132閲覧

[Mac] rbenvでRuby3.4をインストールしたいのですが、証明書エラーが出ます。

yshun

総合スコア6

rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2024/12/31 04:56

実現したいこと

rbenvでRuby3.4をインストールしたいです。
ネットにあること一通り試しましたが、状況変わらず諦めムードです。

発生している問題・分からないこと

エラーメッセージの通り、error setting certificate などと出ます。

brewの更新、rbenvやruby-build, openssl, curlの再インストール、
export SSL_CERT_FILE や export SSL_CERT_DIR、などなど試してみましたが、
状況改善せず。

エラーメッセージ

error

1# 当初からのエラーです 2 3$ rbenv install 3.4.1 4ruby-build: using openssl@3 from homebrew 5==> Downloading ruby-3.4.1.tar.gz... 6-> curl -q -fL -o ruby-3.4.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz 7 % Total % Received % Xferd Average Speed Time Time Time Current 8 Dload Upload Total Spent Left Speed 9 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 10curl: (77) error setting certificate file: /opt/homebrew/opt/openssl@3/cert.pem 11error: failed to download ruby-3.4.1.tar.gz 12 13BUILD FAILED (macOS 14.6.1 on arm64 using ruby-build 20241225.2) 14 15 16# 以下もエラーになりました 17 18$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=(brew --prefix openssl)" rbenv install 3.4.1 19==> Downloading ruby-3.4.1.tar.gz... 20-> curl -q -fL -o ruby-3.4.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz 21 % Total % Received % Xferd Average Speed Time Time Time Current 22 Dload Upload Total Spent Left Speed 23 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 24curl: (60) SSL certificate problem: self-signed certificate in certificate chain 25More details here: https://curl.se/docs/sslcerts.html 26 27curl failed to verify the legitimacy of the server and therefore could not 28establish a secure connection to it. To learn more about this situation and 29how to fix it, please visit the web page mentioned above. 30error: failed to download ruby-3.4.1.tar.gz

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

※参考になるかわかりませんが追加の現状報告です。
そもそもエラーメッセージにある
/opt/homebrew/opt/openssl@3/cert.pem
は存在していませんでした。
https://curl.se/ca/cacert.pem
をダウンロードすると良いという情報があったので、置いてみましたが状況改善せず。
security add-certificatesせよと言われたので、やってみると下記のようなエラーも出ました。
フォーマットがおかしいのでしょうか?
ちなみにMacのキーチェーンアプリでもこのpemは読み込めないと弾かれました。

$ sudo security add-certificates -k /Library/Keychains/System.keychain /opt/homebrew/opt/openssl@3/cert.pem
SecCertificateCreateFromData: Unknown format in import.

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私の環境ではRuby3.4.1インストールできました。

% rbenv install 3.4.1 ruby-build: using openssl@3 from homebrew ==> Downloading ruby-3.4.1.tar.gz... -> aria2c --allow-overwrite=true --no-conf=true --console-log-level=warn --stderr -o ruby-3.4.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz [#05e72e 14MiB/22MiB(66%) CN:1 DL:7.8MiB] ダウンロード結果: gid |stat|avg speed |path/URI ======+====+===========+======================================================= 05e72e|OK | 8.3MiB/s|/private/var/folders/62/wf7tmrhx2txcz3jrj8x6_6km0000gn/T/ruby-build.20241231235259.17634.fyC2kc/ruby-3.4.1.tar.gz 凡例: (OK):ダウンロードが完了しました。 ==> Installing ruby-3.4.1... ruby-build: using libyaml from homebrew ruby-build: using gmp from homebrew -> ./configure "--prefix=$HOME/.rbenv/versions/3.4.1" --with-openssl-dir=/opt/homebrew/opt/openssl@3 --enable-shared --with-libyaml-dir=/opt/homebrew/opt/libyaml --with-gmp-dir=/opt/homebrew/opt/gmp --with-ext=openssl,psych,+ -> make -j 8 -> make install ==> Installed ruby-3.4.1 to /Users/owner/.rbenv/versions/3.4.1

実行結果を見比べるとわかりますが、rbenvはcurlではなくaria2 (aria2cコマンド)でダウンロードしています。
aria2をインストールして、試してみてはいかがでしょう。

% brew info aria2 ==> aria2: stable 1.37.0 (bottled) Download with resuming and segmented downloading https://aria2.github.io/ Installed /opt/homebrew/Cellar/aria2/1.37.0 (65 files, 5.8MB)

投稿2024/12/31 15:19

編集2024/12/31 15:27
technocore

総合スコア7355

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yshun

2025/01/03 03:20

ありがとうございます。他のダウンロードコマンドを試す方法もあるのですね。 私は結局バイナリをダウンロードして地道にインストールしました。 一旦これで差し当たりの動作は問題ないのですが、curl自身の問題は解決していないため、 aria2の常用を含め検討します。
technocore

2025/01/03 03:51

>curl自身の問題は解決していないため、 MacOS標準のcurlを使っているなら、Homebrewが配布しているcurlを試してみてはいかがでしょう。
yshun

2025/01/03 12:10

aria2で試したところ、問題なくダウンロード動作しました。ありがとうございます。 curlですが、Homebrewのものが(再インストールしても)動作しない状況です。 今は、rubyで Net::HTTP.get_response したところ certificate verify failed (unable to get local issuer certificate) (OpenSSL::SSL::SSLError) となり、おそらく同様の証明書問題で、再び立ち往生している段階です。これもaria2経由でできればいいのですが…
technocore

2025/01/03 14:21

追加報告です。 Homebrewを新規インストールしました。 その状態でも、問題なくインストールできましたので、結果を載せておきます。 aria2ではなく、MacOS標準のcurlで動作しました。 何か設定した覚えはないですか? ~ % rbenv install 3.4.1 ruby-build: using openssl@3 from homebrew ==> Downloading ruby-3.4.1.tar.gz... -> curl -q -fL -o ruby-3.4.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 22.0M 100 22.0M 0 0 5761k 0 0:00:03 0:00:03 --:--:-- 5760k ==> Installing ruby-3.4.1... ruby-build: using libyaml from homebrew -> ./configure "--prefix=$HOME/.rbenv/versions/3.4.1" --with-openssl-dir=/opt/homebrew/opt/openssl@3 --enable-shared --with-libyaml-dir=/opt/homebrew/opt/libyaml --with-ext=openssl,psych,+ -> make -j 4 -> make install ==> Installed ruby-3.4.1 to /Users/admin/.rbenv/versions/3.4.1 NOTE: to activate this Ruby version as the new default, run: rbenv global 3.4.1 ~ %
yshun

2025/01/03 23:44

何か設定は…していないと思います。 もしかしたら以前いじったかもしれません。が、へっぽこで何をしたか覚えておらず、この間までは上手く行ってたのにな…状態です。 opensslの再インストールでも改善せず。 証明書まわりを初期設定にする上手い方法はないものでしょうか。 とりあえず証明書を無視して通信すればいけました。 ruby: 以下NET::HTTP.get_responseの前に追加 OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE curl : curl -k url とする …が、あまりいい方法とも思えず、といったところです。 モヤモヤする返答で申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問