herokuでハマった所
Bundler::GemNotFound: Could not find
Bundler::GemNotFound: Could not find nokogiri-1.10.9 in any of the sources
Ruby 2.5.8
で稼働させていたが、Bundlerのバージョンの問題があるようで、herokuはRubyを2.6.X以上を推奨としている。2.5.8
も対応バージョンだが、Ruby 2.6.0
にしたところ解消した。
ActiveSupport::MessageEncryptor::InvalidMessage
/usr/local/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt': ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
こちらはRails5.2から追加された秘匿情報の取り扱い。EDITOR="vim" bundle exec credentials:edit
で config/credentials.yml.enc
が再作成されるので、中身をメモして削除する。secret_key_base
は再度割り当てられるので、それ以外の値だけまた貼り付ける。
RAILS_MASTER_KEY
という環境変数があるので、herokuでは heroku config:set RAILS_MASTER_KEY="ここに確認した文字列" -a アプリケーション名
でセットできる。
値は cat config/master.key
のものをセットすればOK.