这里是新的节点开发。已安装NVM并使用最新的Node LTS:
node --version: v16.13.0
npm --version: 8.1.2当我按照Nest文档中的说明操作时:
npm i -g @nestjs/cli我收到以下警告:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular-devkit/core@12.2.10',
npm WARN EBADENGINE required: {
npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0',
npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6',
npm WARN EBADENGINE yarn: '>= 1.13.0'
npm WARN EBADENGINE },
npm WARN EBADENGINE current: { node: 'v16.13.0', npm: '8.1.2' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular-devkit/schematics@12.2.10',
npm WARN EBADENGINE required: {
npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0',
npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6',
npm WARN EBADENGINE yarn: '>= 1.13.0'
npm WARN EBADENGINE },
npm WARN EBADENGINE current: { node: 'v16.13.0', npm: '8.1.2' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@angular-devkit/schematics-cli@12.2.10',
npm WARN EBADENGINE required: {
npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0',
npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6',
npm WARN EBADENGINE yarn: '>= 1.13.0'
npm WARN EBADENGINE },
npm WARN EBADENGINE current: { node: 'v16.13.0', npm: '8.1.2' }
npm WARN EBADENGINE }那么,在NVM中使用NestJS有问题吗?
发布于 2021-11-01 11:22:15
每个Node版本都附带一个捆绑的NPM版本,因此当使用NVM安装/使用特定的Node版本时,它还会为最初与其捆绑的特定Node版本设置NPM版本。
下面是一个NodeJS发行版的JSON,它指明了每个节点版本和捆绑在一起的NPM:https://nodejs.org/dist/index.json
上面的警告告诉我们问题是什么:
required: {
node: '^12.14.1 || >=14.0.0',
npm: '^6.11.0 || ^7.5.6',
},这意味着我可以使用比v14更新的Node版本(例如: LTS/gallium),但是它捆绑的NPM版本(8.1.0)不满足上述要求,允许最新的次要和补丁版本为7.5.6。
在NVM中使用Node时,我可以通过运行以下命令将其v16版本更改为最新的v7.x.x:
npm install -g npm@7.24.2在此之后,没有更多的警告搭建Nest项目(至少现在是这样)。
https://stackoverflow.com/questions/69790616
复制相似问题