Используется ли другая версия tsc при запуске npm?
У меня есть VS Code и проект Node.js с использованием Typescript. В моем package.json script
Блок есть пункт:
"build-ts": "tsc"
Если я бегу равнине tsc
на встроенной командной строке терминала, компиляция в порядке. Но если я призываю npm run build-ts
, он обнаруживает синтаксические ошибки в одном файле. Кажется, причина ошибки в более старой версии компилятора.
Если я бегу tsc -v
в командной строке отображается версия 2.9.2. Есть ли npm run
использовать другую версию TSC где-нибудь?
Кстати, есть npm run
из пакета npm-run-script? Я побежал npm list
и я не смог найти npm-run-script локально или глобально.
1 ответ
Вопрос был решен с помощью комментариев, но я оставлю этот ответ здесь как более подробный вариант.
Когда вы выполняете
npm run
(или жеnpm run-script
), он ищет исполняемые файлы, установленные локально в первую очередь. Это позволяет использовать разные версии для этих исполняемых файлов для каждого проекта (например, если какая-то библиотека несовместима с новой версиейtsc
). Так что еслиtsc
устанавливается как зависимость (или зависимость dev),npm run
выполнит его, а не тот, который установлен глобально. То же самое относится и кgulp
и другие инструменты CLI.npm run-script
это не пакет, это внутреннийnpm
команда, так же, какinstall
и другие. Вы можете проверить это сnpm help
- эта команда показывает список всех встроенных команд одновременно.