Угловой компилятор требует TypeScript> = 2.7.2 и <2.8.0, но вместо 2.8.3

Я начинаю получать эту ошибку в своем приложении Angular:

Угловой компилятор требует TypeScript> = 2.7.2 и <2.8.0, но вместо 2.8.3

и когда я пытаюсь понизить тип машинописного текста до нужной версии:

npm install -g [email protected] нем говорится обновленный 1 пакет.

когда я проверяю версию машинописного текста, используя версию npm view typescript version я все равно получаю 2.8.3

Я даже попытался удалить машинопись полностью, используя npm uninstall -g typescript

но когда я проверяю версию машинописного файла снова, npm view typescript version я все равно получаю 2.8.3

Каковы команды для правильной очистки и восстановления машинописных файлов в предыдущей версии, например 2.7.2?

Я запускаю узел v10.0.0 и npm v6.0.1

Когда я запускаю npm list -g typescript я вижу правильную версию 2.7.2, но все же версия 2.8.3 установлена как-то глобально

Ответ 1

Вы должны сделать npm install [email protected]'>=2.7.2 <2.8.0'. Это установит правильный тип машинописи, необходимый для вашего проекта. Убедитесь, что вы запускаете это в своем проекте "Угловой".

В Windows вы должны использовать двойные кавычки вместо одиночных кавычек, например:

npm install [email protected]">=2.7.2 <2.8.0"

В противном случае вы получите The system cannot find the file specified. ,

Ответ 3

Я сделал следующие шаги:

  • удален package-lock.json;
  • npm install -g --save [email protected];
  • npm uninstall -g --save [email protected];
  • в package.json, раздел "devDependencies" обновил строку с машинописным текстом как "машинопись": "~ 2.7.2".

После того, как все вышеперечисленное выполняется в терминале проекта ng, выполните --open (я использовал IDEA 2018.1).

Ответ 4

Мое решение состояло в том, чтобы выполнить следующие шаги:

  1. У меня были разные версии узлов, установленных usng nvm. Удалили все мои старые версии и сохранили последние версии.

  2. Выполнил поиск для всех вхождений "машинописного текста" в моей файловой системе Linux с помощью команды find: sudo find. -name typescript sudo find. -name typescript

  3. Удалил все возможные типы узлов node_module из результатов поиска, а также из кэша npm и очистил все другие места, где он мог быть установлен.

  4. Удаленный пакет-lock.json

  5. Наконец, снова установлен проект, используя npm install, и он работает.

Ответ 5

Установка "@angular/compiler-cli": "7.0.0-beta.4" разрешила эту проблему. Я использую "машинопись": "3.0.3".

Ответ 6

Я сделал следующее:

  • Удалите вручную папку node_modules
  • Удалите вручную файл package-lock.json
  • В файле package.json обязательно установите зависимость TypeScript как

     "typescript": "2.7.2"
    
  • запустить очистку кэша npm -f

  • запустить npm install

Это работает для меня.

Ответ 7

Переход на typescript 2.9.2 (npm install [email protected]) и re-running ng update --all все еще дают ошибку (дважды):

Package "@angular/compiler-cli" has an incompatible peer dependency to "typescript" (requires ">=2.7.2 <2.10", would install "3.1.3"
Verified that version 2.9.2 of typescript was in node_modules.