在 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/cli
或npm i g @nestjs/cli
吗?如果没有,请尝试并报告。
【参考方案1】:
删除 dist 文件夹并再次运行 yarn start
、npm start
、yarn start:dev
或 npm run start:dev
以重建 dist 文件夹。此外yarn prebuild
或npm run prebuild
使用rimraf
做同样的事情
当您更改名称并且tsc
在dist和转译的.js
文件中没有更改名称时会出现问题,因此找不到模块
据我所知,nestjs 或 tsc 这样做是为了加快转译速度
【讨论】:
以上是关于在 nest.js 代码库上找不到模块 (MODULE_NOT_FOUND)的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows Server 2019 自托管代理上找不到 azure cli 扩展
best_local_affine_kernel.cu [WinError 126] 在 Windows 10 上找不到指定的模块