在 nest.js 代码库上找不到模块 (MODULE_NOT_FOUND)

Posted

技术标签:

【中文标题】在 nest.js 代码库上找不到模块 (MODULE_NOT_FOUND)【英文标题】:Module not found (MODULE_NOT_FOUND) on nest.js code base 【发布时间】:2020-09-09 10:04:07 【问题描述】:

我有一个代码库,它在节点 v10.16.3 上的 Windows 机器上运行良好,但是当我尝试在具有节点 v.12.16.3 的 CentOS Linux 机器上安装相同的代码库时,我收到以下错误.不确定问题可能是什么。

# npm start

> nest start

internal/modules/cjs/loader.js:960
  throw err;
  ^

Error: Cannot find module '@angular-devkit/core'
Require stack:
  - /usr/local/lib/node_modules/@nestjs/cli/lib/schematics/schematic.option.js
  - /usr/local/lib/node_modules/@nestjs/cli/lib/schematics/index.js
  - /usr/local/lib/node_modules/@nestjs/cli/actions/generate.action.js
  - /usr/local/lib/node_modules/@nestjs/cli/actions/index.js
  - /usr/local/lib/node_modules/@nestjs/cli/commands/command.loader.js
  - /usr/local/lib/node_modules/@nestjs/cli/commands/index.js
  - /usr/local/lib/node_modules/@nestjs/cli/bin/nest.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)
at Function.Module._load (internal/modules/cjs/loader.js:840:27)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> 
(/usr/local/lib/node_modules/@nestjs/cli/lib/schematics/schematic.option.js:3:16)
  at Module._compile (internal/modules/cjs/loader.js:1133:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
  at Module.load (internal/modules/cjs/loader.js:977:32)
  at Function.Module._load (internal/modules/cjs/loader.js:877:14)
  at Module.require (internal/modules/cjs/loader.js:1019:19) 
  code: 'MODULE_NOT_FOUND',
requireStack: [
  '/usr/local/lib/node_modules/@nestjs/cli/lib/schematics/schematic.option.js',
  '/usr/local/lib/node_modules/@nestjs/cli/lib/schematics/index.js',
  '/usr/local/lib/node_modules/@nestjs/cli/actions/generate.action.js',
  '/usr/local/lib/node_modules/@nestjs/cli/actions/index.js',
  '/usr/local/lib/node_modules/@nestjs/cli/commands/command.loader.js',
  '/usr/local/lib/node_modules/@nestjs/cli/commands/index.js',
  '/usr/local/lib/node_modules/@nestjs/cli/bin/nest.js'
]

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Exit status 1
npm ERR!
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-05-22T14_14_24_709Z-debug.log

【问题讨论】:

您在使用start 之前尝试过install 吗?您是否确保始终使用相同的 package manager(npm/yarn)。你确定你有相同版本的node/npm 吗? 我在开始之前做了安装。我在这两个地方都使用 npm。但是 npm 版本是不同的。正如我在帖子中所说,我的 node/npm 版本不同,但我在 Linux 中使用的是更高版本。 尝试运行npm install @angular-devkit/core,看看它是否有效。 这是我尝试的第一件事。同样的错误。尽管在 angular-devkit 上安装 npm 工作正常。 你试过yarn global add @nestjs/clinpm i g @nestjs/cli吗?如果没有,请尝试并报告。 【参考方案1】:

删除 dist 文件夹并再次运行 yarn startnpm startyarn start:devnpm run start:dev 以重建 dist 文件夹。此外yarn prebuildnpm run prebuild 使用rimraf 做同样的事情

当您更改名称并且tsc在dist和转译的.js文件中没有更改名称时会出现问题,因此找不到模块

据我所知,nestjs 或 tsc 这样做是为了加快转译速度

【讨论】:

以上是关于在 nest.js 代码库上找不到模块 (MODULE_NOT_FOUND)的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows Server 2019 自托管代理上找不到 azure cli 扩展

错误:在 Heroku 上找不到模块 Discord.js

前端工程师梭哈初体验(基于Nest.js写服务端代码)

best_local_affine_kernel.cu [WinError 126] 在 Windows 10 上找不到指定的模块

错误:在 require.resolve('jquery') webpack 上找不到模块 'jquery'

在 Ubuntu 上找不到 Tkinter 模块