事象
rails tutorial を Cloud9 ではなく、ローカル環境で実施しようと思い、ローカルに Ruby, Rails の環境を構築した。
チュートリアル内の指示に従って rails _6.0.4_ new hello_app
を実行した所、正常にフォルダが作成されない状況となった。
エラー内容
couldn't set additional authenticated data (OpenSSL::Cipher::CipherError)
エラー内容全文は下記。手元にはログが残っていないので、全く同じ状況だった記事から引用。
/Library/Ruby/Gems/2.6.0/gems/activesupport-6.0.3.6/lib/active_support/message_encryptor.rb:173:in `auth_data=': couldn't set additional authenticated data (OpenSSL::Cipher::CipherError)
環境
- Ruby: 2.7.2 ( installed on rbenv )
- Rails: 6.0.4
- HW: Apple M1 MacBookPro 2020
原因
原因となりうるかは不明だったが、上記で記述した環境とは認識のないところで環境がごちゃごちゃになっており、各コマンド実行時のパスや実行バージョンがバラバラになっていたのが原因の可能性が高い。
rbenv
を使って ruby 2.7.2 をインストールしているが、 macOS で使っている2.6.8
を読み込んでいる- 過去に環境変数
GEM_HOME
に対して下記のようなパスを指定していたのが.bash_profile
に残っており、rbenv
を用いて Ruby をいかなるバージョンに変更した場合でも、gem
でインストールした際のパスが特定のパスに固定されてしまっている
対応
Ruby(rbenv経由)、gemあたりをすべてアンインストールし、環境変数やコマンドのパスを再設定することで正常に動作した。
正常動作時の各コマンド実行時の実行ファイルは下記の通り。
bash: title=bash1% which gem 2/Users/{USER}/.rbenv/shims/gem 3 4% which ruby 5/Users/{USER}/.rbenv/shims/ruby 6 7% which rails 8/Users/{USER}/.rbenv/shims/rails 9
rbenv を使っている場合、 ruby 製ツールの多くは .rbenv/shims
配下のパスを使用するため、 which
コマンドを使って /usr/local/
配下を参照している場合は正しくインストールできていない可能性が高い。
/以上
よかったらシェアしてください!