Nx ワークスペース内で作成された NestJS アプリのビルド アーティファクトを実行しようとすると、エラーが発生します。このエラーは、node_modules フォルダーが存在しないリポジトリー以外の場所で結果のアーティファクトを実行した場合にのみ発生します。
再現する手順:
- このリポジトリをクローンします https://github.com/baumgarb/proxy-example
- 実行
npm install
してすべてのパッケージをインストールします - 走る
ng build backend
- のdistフォルダーに移動します
dist/apps/backend
- そのフォルダで実行
node main.js
すると、バックエンドが正常に起動するはずです - main.js を複製したリポジトリ以外の別の場所にコピーします (例:
/tmp
またはc:\temp
) 。 - 新しい場所で再度実行
node main.js
すると、次のエラーが発生します。
internal/modules/cjs/loader.js:775
throw err;
^
Error: Cannot find module 'tslib'
Require stack:
- /home/bernhard/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:772:15)
at Function.Module._lo[ad (internal/modules/cjs/loader.js:677:27)
at Module.require (internal/modules/cjs/loader.js:830:19)
at require (internal/modules/cjs/helpers.js:68:18)
...[omitted for brevity] {
code: 'MODULE_NOT_FOUND',
}
ビルド アーティファクトを Docker コンテナーで実行することもできますが、同じエラーが発生します。
問題の内容と修正方法を誰か教えてもらえますか? よろしくお願いします!