質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

解決済

2回答

1773閲覧

Express: 'secret option required for sessions'が表示される

Nippun

総合スコア1147

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2018/04/25 06:54

編集2018/04/25 20:19

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の部分でエラーが出ます。
どのように書き直せばいいですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HayatoKamono

2018/04/25 06:59

process.env.SESSION_KEYで値が確認出来てるのでしょうか?
Nippun

2018/04/25 07:00

ログを取ってみましたが値は来てるようです
HayatoKamono

2018/04/25 07:00

デバッグした結果や関係しそうなコードの追記をお願いします。
HayatoKamono

2018/04/25 07:06

process.env.SESSION_KEYの値が取れてることはどのように確認したのですか?
HayatoKamono

2018/04/25 07:10 編集

import文(or require) から全て掲載して下さい
Nippun

2018/04/25 07:12

追加しました
HayatoKamono

2018/04/25 07:14

process.env.SESSION_KEYの値が取れてることはどのように確認したのですか?
Nippun

2018/04/25 07:16

console.logでかくにんしました。掲載してるコードには書かれてません
Nippun

2018/04/25 07:17

またローカルでは問題なく動きます。
HayatoKamono

2018/04/25 07:20 編集

動かない方の環境で、console.log(path.resolve(process.cwd(), '.env'))を該当ファイルに入れて、パスの確認をしてみてください
HayatoKamono

2018/04/25 07:23 編集

console.logでかくにんしました。掲載してるコードには書かれてません ↑ これは動かない環境の方でも確認が出来ているということですか?
Nippun

2018/04/25 07:26

確認できてます。console.log(path.resolve(process.cwd(), '.env'))は/app/.envと出ました
HayatoKamono

2018/04/25 07:40 編集

process.env.SESSION_SECRETと動的に値を参照しているところを、直接、文字列入れて置き換えてみたらどうなりますか?
Nippun

2018/04/25 07:36

Dotenvとmongoを使うとDotenvが使えなくなることです
HayatoKamono

2018/04/25 07:40

で、直接、置き換えたらどうなるんです?上の質問です。
HayatoKamono

2018/04/25 07:41

使えなくなるもなにも、値を取れてることは確認出来てるのですよね?使えてますよ、それは。
Nippun

2018/04/25 07:43

直りません。今確認したのですがデータベースにURL malformedなため接続できていないみたいです。ローカルだと接続できるのですが
HayatoKamono

2018/04/25 07:45

質問に掲載してたエラーはもう表示すらされないってことですか?
Nippun

2018/04/25 07:46

それも表示されています。
guest

回答2

0

Dotenvを使うのを諦めました。

投稿2018/04/25 20:18

Nippun

総合スコア1147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HayatoKamono

2018/04/25 22:02

dotenvを使わないというのは自分の回答にも書いたことなので、自己解決とマークするのは不適切では?
HayatoKamono

2018/04/27 03:22

上記に対する返答をお願いします。
Nippun

2018/04/27 03:27

見落としていました。すみません
guest

0

ベストアンサー

SESSION_KEY=abcd

スペース無しで上手く行きませんか?

追記

https://devcenter.heroku.com/articles/config-vars

修正依頼欄でやりとりをさせて頂きましたが進展が難しそうなので、
dotenvは忘れて、Heroku側で環境変数の設定をしてしまいましょう。

上のリンク先を参考にするなり、ググって他の非公式記事を参考にするなりしてください。

投稿2018/04/25 07:03

編集2018/04/25 07:59
HayatoKamono

総合スコア2415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nippun

2018/04/25 07:06

うまくいかないです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問