自分のための覚え書きですが、誰か同じ問題が起きた人の参考になれば。
環境
Mac
rbenvでrubyをインストール
起こったエラー
rails s
や rake db:migrate
をやった時に、以下のようなエラーが出てしまうことが何度かありました。
OpenSSL::Cipher::CipherError: couldn't set additional authenticated data
ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage
上記のエラーで検索すると、 master.keyと config/credentials.yml.enc の鍵が一致していないという原因はよく出てきますが、その問題を解決してもまたこのエラーが起こることがありました。
その時に原因だったのが、プロジェクト環境でrbenvでインストールしたrubyではなくシステムのrubyを使ってしまったという問題でした。
ターミナルで以下のコマンドで調べたところ、このように返ってきていました。
% which gem
/usr/bin/gem
% which ruby
/usr/bin/ruby
% which rails
/usr/local/bin/rails
この状態だと、Macに最初からインストールされているシステムのrubyを使ってしまっています。
rbenvでインストールしたrubyを使うようにパスを通します。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
確認。
% which gem
/Users/xxxx/.rbenv/shims/gem
% which ruby
/Users/xxxx/.rbenv/shims/ruby
% which rails
/Users/xxxx/.rbenv/shims/rails
これで直りました。