Expressで'secret option required for sessions'が表示されます。
secret optionを.envから参照しているのですがそれが理由なのか分かりませんがエラーが出ます。
.envから参照する前はエラーは出ませんでした。
dotenv
.env
SESSION_KEY = abcd
Log
12018-04-25T06:56:08.476619+00:00 app[web.1]: GET / 500 1.136 ms - 67 22018-04-25T06:56:08.477322+00:00 heroku[router]:
プログラム自体は動くのですがsecret optionの部分でエラーが出ます。
どのように書き直せばいいですか?
process.env.SESSION_KEYで値が確認出来てるのでしょうか?
ログを取ってみましたが値は来てるようです
デバッグした結果や関係しそうなコードの追記をお願いします。
process.env.SESSION_KEYの値が取れてることはどのように確認したのですか?
import文(or require) から全て掲載して下さい
追加しました
process.env.SESSION_KEYの値が取れてることはどのように確認したのですか?
console.logでかくにんしました。掲載してるコードには書かれてません
またローカルでは問題なく動きます。
動かない方の環境で、console.log(path.resolve(process.cwd(), '.env'))を該当ファイルに入れて、パスの確認をしてみてください
console.logでかくにんしました。掲載してるコードには書かれてません
↑
これは動かない環境の方でも確認が出来ているということですか?
確認できてます。console.log(path.resolve(process.cwd(), '.env'))は/app/.envと出ました
process.env.SESSION_SECRETと動的に値を参照しているところを、直接、文字列入れて置き換えてみたらどうなりますか?
URL malformed, cannot be parsed, https://github.com/nestjs/mongoose/issues/9 調べてみたら同じ症状が上がっていました。
同じ症状とは?
Dotenvとmongoを使うとDotenvが使えなくなることです
で、直接、置き換えたらどうなるんです?上の質問です。
使えなくなるもなにも、値を取れてることは確認出来てるのですよね?使えてますよ、それは。
直りません。今確認したのですがデータベースにURL malformedなため接続できていないみたいです。ローカルだと接続できるのですが
質問に掲載してたエラーはもう表示すらされないってことですか?
それも表示されています。
回答2件
あなたの回答
tips
プレビュー