Четыре разные версии машинописного текста?

Я пытаюсь научить себя Angular, и при обновлении своих версий (node, angular-cli,...) я наткнулся на 4 разные версии Typescript. Может ли кто-нибудь сказать мне разницу?

В левой части следующего скриншота находится vscode. Верхняя часть — это результат «ng version». Отсечка данных со скриншота была:

 - Angular CLI: 7.3.9
 - Node: 10.15.3
 - OS: win32 x64
 - Angular: 7.1.4
... common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

С правой стороны приглашение cmd, которое я открыл в своем пользовательском местоположении.

Четыре разные версии машинописного текста?

Я попытаюсь дать свое объяснение, пожалуйста, поправьте меня :)

  1. 3.1.6 Я бы сказал, что это версия Typescript, которую я использую в своем проекте.
  2. 3.2.2 Тогда это может быть моя глобальная версия (та, что сейчас установлена ​​в %AppData%\Roaming\npm)
  3. 3.4.5... понятия не имею об этом. Я только что посмотрел его, и на самом деле это самая новая доступная версия на момент написания этого поста. Это выше, чем то, что поддерживает Angular 7.1.4 (3.3 поддерживается Angular 8.0.0-beta.9, как я узнал, здесь... это критическое изменение, поэтому, насколько я понимаю, это вообще не должно работать). Интересно, не отображает ли это число что-то еще, кроме машинописного текста (но что?)
  4. 3.2.4 это меня озадачивает, я понятия не имею, откуда оно взялось

Я также запускал npm list typescript локально и глобально. Не уверен, что это значит (как я уже сказал, я все еще пытаюсь научиться...), но вот результат:

Четыре разные версии машинописного текста?

какой скриншот из вашего углового проекта?

asimhashmi 27.05.2019 20:37

тот, что слева (это код визуальной студии, открытый в моем проекте)

PLB 27.05.2019 20:38

все, что напечатано ng version, имеет значение. Это тот, который ng будет выполнять для сборки проекта, и этот версия остается неизменным при изменении окружающая обстановка. Например; если вы строите на другой машине после запуска npm install. Вы не должны изменять эту версию вручную, потому что Angular требует определенной версии и обновляет ее при запуске ng upgrade для следующего выпуска Angular.

Reactgular 27.05.2019 21:03
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
3
943
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это довольно аккуратный анализ, и вы почти правильно его объяснили. Что касается недостающих частей, проверьте объяснение ниже:

3.1.6, как вы правильно заметили, используется в вашем проекте.

3.2.2 — это тот, который вы установили глобально.

3.2.4 — это машинописный текст, установленный angular-cli.

3.4.5 — это последняя версия, поддерживаемая вашей текущей версией Visual Code. IntelliSense, предоставляемый Visual Code, будет использовать эту версию.

Насколько мне известно, ваш проект Angular будет работать на TSC версии 3.1.6, поскольку на него ссылаются локально. (Поправьте меня, если я ошибаюсь)

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

Ответ принят как подходящий

Версия 3.1.6

Вы правы, это ваша локальная версия Typescript, специфичная для вашего проекта.

Версия 3.2.2

Это глобальная версия Typescript. Вот почему он не меняется в обоих местах, когда вы вводите tsc --version

Есть некоторые пакеты, для правильной работы которых требуются определенные версии других библиотек.

Версия 3.2.4

Это зависимость от @angular/cli, то есть когда вы установите @angular/cli, она автоматически установит эту версию typescript в качестве зависимости от рабочего свойства.

Версия 3.4.5

Он отображается в правом углу кода VS. Код Vs поставляется с собственной версией Typescript, которую он использует внутри, потому что редактор написан на Typescript.

Другие вопросы по теме