Версии @angular/compiler-cli и машинописного текста не могут быть определены

Я установил Angular/cli, а затем попытаюсь запустить команду ng, а затем подбрасывает ошибку. Я пробовал много вещей, таких как удаление угловых /cli, npm cache clean и т.д.

Версии @angular/compiler-cli и машинописного текста не могут быть определены. Самая распространенная причина этого - сломанная установка на npm.

Убедитесь, что ваш package.json содержит как @angular/compiler-cli, так и машинописный текст в devDependencies, а затем удалите node_modules и package-lock.json (если он у вас есть) и запустите npm install again.

Ответы

Ответ 1

Это может быть проблемой при неявно запуске devDependencies.

Попробуйте выполнить их неявно с помощью следующей команды.

npm install --dev

Ответ 2

Общий выход, чтобы избежать этой проблемы

  1. Создать новый проект

    новое угловое семя

  2. Скопируйте все зависимости по умолчанию и dev-dependenices из package.json в ваш текущий используемый проект (угловой, машинописный и т.д.).

enter image description here

  1. Затем удалите node_modules и запустите пакет установки npm вашего текущего проекта или любой другой метод, который вы используете для reubild

    rm -fr node_modules npm install

примечание: если это не дает вам самую последнюю версию, тогда у вас могут быть установлены глобальные инструменты в данных роуминга (в окне, изучаемом браузером типа %appdata%, и перейдите к npm для наблюдения)

Ответ 3

По умолчанию установка npm будет устанавливать все модули, перечисленные в качестве зависимостей. С флагом --production npm не будет устанавливать модули, перечисленные в devDependencies. либо мы можем пойти

Первый путь

для редактирования зависимой части в package.json, добавив ее с соответствующей версией

    "dependencies": {
    /*existing part */

     "@angular/cli": "1.5.2",
    "@angular/compiler-cli": "^5.0.0",
    "typescript": "^2.4.2"
    }

Второй путь

Чтобы установить зависимости dev, npm --production = false install будет работать даже с NODE_ENV = production.

Или вы можете запустить NODE_ENV = разработка npm install

для более подробной информации нажмите, чтобы узнать больше

Ответ 4

В случае развертывания рекомендуется добавить скрипт preinstall для устранения этих пробелов в зависимостях:

"preinstall": "npm install @angular/cli @angular/compiler-cli typescript"

Ответ 5

1. Откройте командную строку в папке проекта.

2. Запустите команду.

 npm install --only=dev

Ответ 6

Во-первых, для предотвращения, обновить угловые

npm install -g @angular/cli

Во-вторых, также запустить "npm install", вы должны установить зависимости dev

npm install --dev

проверить зависимости без ошибок

ng --version

Ответ 7

Не могли бы вы проверить, что ваш "@angular/compiler" в ваших зависимостях совместим с версией углового/кли.

Например:

  "devDependencies": {
    "@angular/cli": "1.4.8",
    "@angular/compiler-cli": "4.4.6",

совместим с:

"@angular/compiler": "4.4.6",

Ответ 8

Запустите команду

npm --production=false install

в вашем терминале. Также обратите внимание, что вы должны быть в папке проекта при выполнении этого.

Ответ 9

Фактически реальная проблема связана с npm.

Если его загрузка --legacy-bundling=true как --legacy-bundling=true (что по умолчанию), вы получите эту проблему. Если вы видите папку node_modules, все зависимые модули будут вложенными.

Когда вы запускаете команду npm install вы должны установить --legacy-bundling=false

npm install --legacy-bundling=false

Теперь, если вы видите папку node_modules, ни один из модулей не будет вложен. И все будет работать.

Вы можете установить npm поведение по умолчанию, используя следующую команду, тогда вам не придется устанавливать каждый раз.

npm set --legacy-bundling=false

Ответ 10

Я столкнулся с этой проблемой, когда устанавливал зависимости npm на Jenkins. У меня был @angular/compiler-cli в devDependencies и typcript в зависимостях, а NODE_ENV=production в среде.

Я попытался NODE_ENV=development npm install и у меня это сработало.

Для получения более подробной информации смотрите это: https://github.com/angular/angular-cli/issues/8407