はじめに
rails6インストール時に発生した以下のエラー内容の対処方法について確認していきます。
参考
rails6での開発を以下の通り、進めておりますのでよろしければご参考ください。
エラー内容
rails newでプロジェクト作成する前のrails6インストール時に以下のエラーが発生しました。
$ gem install rails -v 6.0.3.4
ERROR: Loading command: install (LoadError)
dlopen(/Users/username/.rbenv/versions/2.7.2/lib/ruby/2.7.0/arm64-darwin23/openssl.bundle, 0x0009): Library not loaded: /opt/homebrew/opt/openssl@1.1/lib/libssl.1.1.dylib
Referenced from: <F5226C7D-D92D-3C32-9334-35743019A6B7> /Users/user/.rbenv/versions/2.7.2/lib/ruby/2.7.0/arm64-darwin23/openssl.bundle
Reason: tried: '/opt/homebrew/opt/openssl@1.1/lib/libssl.1.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/openssl@1.1/lib/libssl.1.1.dylib' (no such file), '/opt/homebrew/opt/openssl@1.1/lib/libssl.1.1.dylib' (no such file) - /Users/user/.rbenv/versions/2.7.2/lib/ruby/2.7.0/arm64-darwin23/openssl.bundle
ERROR: While executing gem ... (NoMethodError)
undefined method invoke_with_build_args' for nil:NilClass
対処方法
1. OpenSSLのインストール確認
HomebrewでOpenSSLがインストールされているか確認し、インストールされていなければインストールします。
brew install openssl@1.1
2. OpenSSLのパスを確認
HomebrewでインストールされたOpenSSLのパスを確認します。
brew --prefix openssl@1.1
このコマンドは、OpenSSLのインストールパスを返します。通常は /opt/homebrew/opt/openssl@1.1
です。
3. 環境変数の設定
RubyがOpenSSLライブラリを見つけられるように、環境変数を設定します。以下のコマンドを実行して、環境変数 LDFLAGS
と CPPFLAGS
を設定します。
export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include"
export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig"
4. Rubyの再インストール
OpenSSLサポートを有効にしてRubyを再インストールします。以下のコマンドを実行します。
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)" rbenv install 2.7.2
5. rbenvの再設定
インストール後、rbenvを再読み込みして新しい設定を適用します。
rbenv rehash
6. 確認
RubyがOpenSSLを正しく認識しているか確認します。
$ ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'
OpenSSL 1.1.1t 7 Feb 2023
正しいバージョンが表示されれば成功です。
7. Railsのインストール
これで、Railsをインストールします。
$ gem install rails -v 6.0.3.4
Successfully installed rails-6.0.3.4
Parsing documentation for rails-6.0.3.4
Done installing documentation for rails after 0 seconds
1 gem installed
これで問題なくインストールされて、railsプロジェクトの作成に進めると思います!
$ rails new rails-app-1st
$ rails _6.0.3.4_ new rails-app-1st --database=postgresql
まとめ
今回は、opensslが影響してrailsがインストールできない際のエラー対処について、確認しました。同じような状況の方のお役に立てれば幸いです。
コメント