西村 祐真
@variant3a
nodejsでSveltekitをbuildする際に出るエラーの対処法
2023-12-07
views: 490
問題
Sveltekitをbuildする際に、以下のようなエラーが出る。
"mock-aws-s3" is imported by "mock-aws-s3?commonjs-external", but could not be resolved – treating it as an external dependency.
"aws-sdk" is imported by "aws-sdk?commonjs-external", but could not be resolved – treating it as an external dependency.
"nock" is imported by "nock?commonjs-external", but could not be resolved – treating it as an external dependency.
ただこの文章は出てもビルドは通る。
その後、アプリを起動するときにエラーが発生する。
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'mock-aws-s3' imported from /home/gmn/work/test/build/server/chunks/5-4a6e0b61.js
at new NodeError (node:internal/errors:399:5)
at packageResolve (node:internal/modules/esm/resolve:889:9)
at moduleResolve (node:internal/modules/esm/resolve:938:20)
at defaultResolve (node:internal/modules/esm/resolve:1153:11)
at nextResolve (node:internal/modules/esm/loader:163:28)
at ESMLoader.resolve (node:internal/modules/esm/loader:838:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
at link (node:internal/modules/esm/module_job:76:36)
原因
ここに書いてある。全ては読んでいないが、bcryptによるエラーらしい。
https://github.com/mapbox/node-pre-gyp/issues/661
Vercelも認識しているっぽい。
https://vercel.com/guides/why-does-my-serverless-function-work-locally-but-not-when-deployed
ちなみに下のbcryptの対処法を行ってもbuild時のエラーは出るので、それぞれ対処する必要がありそう。
対処法
build時のエラーの対処法
出ている3つをインストールすることで消すことができる。
npm i mock-aws-s3 aws-sdk nock
このとき、dev-dependenciesではなくdependenciesに入るようにする。(-Dをつけない)
アプリ起動時のエラーの対処法
bcryptの使用をやめ、bcryptjsを使用する。
npm remove bcrypt @types/bcrypt
npm i bcryptjs @types/bcryptjs
2023-12-07
views: 490
most viewed
Laradockを利用したLaravel環境構築
@variant3a
2022-06-09
views: 365
BrowserSyncを使おう
@variant3a
2022-06-09
views: 285
Office365UserコネクタのSearchUserV2の制限
@variant3a
2022-07-14
views: 316
Laravelのルーティング順による404エラーの対処法
@variant3a
2022-07-16
views: 644
「"仮想DOMは速い"という神話を完全に終わりにしよう」
@variant3a
2022-07-19
views: 450