6

Nx ワークスペース内で作成された NestJS アプリのビルド アーティファクトを実行しようとすると、エラーが発生します。このエラーは、node_modules フォルダーが存在しないリポジトリー以外の場所で結果のアーティファクトを実行した場合にのみ発生します。

再現する手順:

  1. このリポジトリをクローンします https://github.com/baumgarb/proxy-example
  2. 実行npm installしてすべてのパッケージをインストールします
  3. 走るng build backend
  4. のdistフォルダーに移動しますdist/apps/backend
  5. そのフォルダで実行node main.jsすると、バックエンドが正常に起動するはずです
  6. main.js を複製したリポジトリ以外の別の場所にコピーします (例:/tmpまたはc:\temp) 。
  7. 新しい場所で再度実行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 コンテナーで実行することもできますが、同じエラーが発生します。

私のローカル マシンと WSL の比較も次のとおりです。 ここに画像の説明を入力

問題の内容と修正方法を誰か教えてもらえますか? よろしくお願いします!

4

2 に答える 2