RUDE

Генерация нового модуля nestjs приводит к ошибке: не удалось выполнить команду

Я использую MacOS monterey с чипом M1 в качестве операционной системы. установил NestJS cli с помощью этой команды: sudo npm install -g @nestjs/cli

При создании нового проекта гнезда с помощью nest new message все работает нормально, но когда я пытаюсь создать новый модуль с помощью этой команды nest generate module messages, я сталкиваюсь с ошибкой.

Почему это происходит? Пробовал устанавливать схемы с помощью npm i -g @nestjs/schematics, не знаю, стоило ли устанавливать, но это все равно не помогло.

Ошибка, с которой я сталкиваюсь:

/Users/homayoun/training/messages/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:338
            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 (/Users/homayoun/training/messages/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:338:19)
    at main (/Users/homayoun/training/messages/node_modules/@angular-devkit/schematics-cli/bin/schematics.js:122:49)
    at Object.<anonymous> (/Users/homayoun/training/messages/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:module --name=messages --no-dry-run --no-skipImport --language = "ts" --sourceRoot = "src" --spec.

Стоит отметить, что я не сталкиваюсь с какими-либо проблемами, когда делаю то же самое на Ubuntu 20 или 22


1
933
2

Ответы:

Решено

Быстрое решение:

  1. добавьте это в свой файл nest-cli.json
"root": "src"
  1. перейдите в src папки вашего проекта
cd src
  1. бежать
nest generate module messages

Если вышеуказанное не работает, также попробуйте изменить версию пакетов в package.json на

"@nestjs/cli": "8.2.6",
"@nestjs/schematics": "8.0.11",

Удаление узловых модулей в текущем проекте переустановка гнезда cli с

npm uninstall -g @nestjs/cli
npm i -g @nestjs/cli@8.2.6 

Это ошибка последней версии @nestjs/cli (v8.2.7). Понизьте его до 8.2.6, и он будет работать (я проверял). Сообщено здесь: https://github.com/nestjs/nest-cli/issues/1693

Кроме того, я не рекомендую использовать глобальную версию CLI. Вместо этого используйте npx nest или yarn nest.


Интересные вопросы для изучения