lightsailでnpmインストール

AWSのlightsail上に構築したLaravelサイトにnpmをインストールした時に発生したエラーと対応メモ

何が起きたか

npm run build したときにエラーが発生

[vite:css] Failed to load PostCSS config (searchPath: /opt/bitnami/mysite): [Failed to load PostCS
S config] Failed to load PostCSS config (searchPath: /opt/bitnami/mysite): [ReferenceError] module
 is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/opt/bitnami/sh
aresuru/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use t
he '.cjs' file extension.
ReferenceError: module is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/opt/bitnami/
mysite/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use t
he '.cjs' file extension.
    at file:///opt/bitnami/mysite/postcss.config.js:1:1
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

PostCSS config ファイルに何か問題があるらしい

対応方法

npm install コマンドをうって作成されたファイルがこちら。

npm install 時に作成されたファイル一覧

このなかに postcss.config.js というファイルがあります。

もう一度エラーメッセージを確認してみます。

This file is being treated as an ES module because it has a '.js' file extension and '/opt/bitnami/
mysite/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use t
he '.cjs' file extension.

前半部分はとりあえず飛ばして、一番最後の一文だけ翻訳すると

『ファイルの拡張子を.cjsに変えてね』と言っています。

ということでファイルの拡張子を変更してみます。

postcss.config.js

postcss.config.cjs

これで再度 npm run build 実行!

npm buildの実行結果

無事に処理完了しました。

コメントを残す