Closed4

dotenv-railsを2.x系から3.0系にあげたらRSpecが落ちた

Tomoyuki KatoTomoyuki Kato

原因これだ

Multi-line values with line breaks must be surrounded with double quotes.
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
...
HkVN9...
...
-----END DSA PRIVATE KEY-----"
Prior to 3.0, dotenv would replace \n in quoted strings with a newline, but that behavior is deprecated.

\nが改行として扱われなくなったことが原因らしい

Tomoyuki KatoTomoyuki Kato

改行している値が入った環境変数の前に、「DOTENV_LINEBREAK_MODE=legacy」を指定するという回避策がある

DOTENV_LINEBREAK_MODE=legacy
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nHkVN9...\n-----END DSA PRIVATE KEY-----\n"

Tomoyuki KatoTomoyuki Kato

つまり解消方法は以下の2つ

  • 改行している環境変数から\nを取り除いてちゃんと改行させる
  • DOTENV_LINEBREAK_MODE=legacyを指定する
このスクラップは2024/04/03にクローズされました