Next.jsで「no_secret」のエラー発生
Nextjsで実装していたときに、
Dockerコンテナで立ち上げて、
検証環境に色々と試していたのだが、
上記の画像のようなエラーが発生した。
最初に設定情報をこの環境に入れるのを忘れて、
その後に調整してコンパイルしたのだが、
最初にコンパイルした時のゴミが残り続けた影響な気もする。
今後のために
個人的な備忘録としてこの記事に残します。
エラー内容
エラーに関しては、
このようなエラー表示になっていた。
実際のログを確認すると、
以下のようにログが表示されていた。
no_secret Please define a `secret` in production. MissingSecret
[MissingSecretError]: Please define a `secret` in production.
設定ファイル周りで、secretファイルは、
開発環境などでは問題なく設定・動作しているので、
基本的に影響はないとは思うが、
1つの調整方法として、
以下を試したのでメモ。
ファイル
pages/api/auth/[...nextauth].js
調整箇所
直接、secret設定を追加。
ただし、開発環境では、なくても動いたので不要なのかもしれない
export const authOptions = {
:
secret: process.env.NEXTAUTH_SECRET
}
参考
再コンパイルが反映されていなかった?
プロセス常駐していたのだが、
こちらを停止して、
色々と確認している中で、
npm run dev
で試しにコンパイルではなく、
シンプルに立ち上げて確認しようとすると、
Error: listen EADDRINUSE: address already in use :::3000
というエラーが発生した。
そのため、
使用ポートを確認するコマンド
lsof -i :3000
こちらでプロセスIDを確認して、
kill -9 [process-id]
でプロセスを終了させて、
再度、起動させるとうまく挙動した。
どちらかというと、
こちらの3000ポートが、
停止しても残り続けていたのが影響していたのかもしれない。
こちらもおすすめ
初心者向けの色々な情報はあるけれど、
- 無料でお試しができるスクール
- ホームページなど簡単に作成できる
- 組織で使いたいサービス
について、
少しでも試して良いものがあると、
それを活用することで学習や業務などが効率化できるので、
おすすめのサイトなどをいくつか紹介しておきます