nestjs nest g co xxx 或者 nest g controller xxx 报错 (解决方案)

博客讲述了在使用NestJS CLI创建控制器时遇到的错误,该错误源于@angular-devkit/schematics-cli的版本14.0.2。通过对比旧项目,发现问题可能是新版本引起的。解决方案是回退到13.1.2版本,并通过yarn创建yarn.lock文件来锁定依赖。此外,提到了 NestJS CLI 的8.2.7版本也可能存在问题,建议使用8.2.6。最后,提供了一个GitHub issue链接作为问题报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 throw new Error(`Unknown argument ${key}. Did you mean ${(0, yargs_parser_1.decamelize)(key)}?`);
                  ^

Error: Unknown argument skipImport. Did you mean skip-import?
    at parseArgs (D:\projectdemo\node_modules\@nestjs\cli\node_modules\@angular-devkit\schematics-cli\bin\schematics.js:338:19)
    at main (D:\projectdemo\node_modules\@nestjs\cli\node_modules\@angular-devkit\schematics-cli\bin\schematics.js:122:49)
    at Object.<anonymous> (D:\projectdemo\node_modules\@nestjs\cli\node_modules\@angular-devkit\schematics-cli\bin\schematics.js:367:5)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47

Failed to execute command: node @nestjs/schematics:controller --name=abc --no-dry-run --no-skipImport --language="ts" --sourceRoot="src" --spec

如上错误,目前找到原因(可能水平有限,找不到正确答案,翻了github,没找到。只能对比了一下以前的项目),发现@angular-devkit\schematics-cli 在新版安装下 会默认安装14.0.2这个版本。这个版本导致报错。得切换到13.1.2。
在目录下创建文件yarn.lock,然后使用yarn 来安装依赖(记得把node_modules删了)
链接yarn.lock

再使用nest g co xxxx就可以创建controller啦

刚刚提了issue 链接如下:
github issue

解决方案是使用nestjs/cli8.2.6 不要使用8.2.7

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值