Я хочу иметь возможность запускать npx tsc
в моем проекте на обеих хостах + гостевые операционные системы. Но гость использует другую (более старую) версию tsc
- и я не уверен, откуда она.
Моя настройка:
- Хост ОС: Windows 10
- Гостевая ОС: Debian 9
- Я использую VirtualBox, а гость монтирует файлы хоста с помощью функции «общих папок» VirtualBox, поэтому у него нет отдельной копии файлов проекта - мой проект всегда доступен через общие папки.
- У меня НЕ установлен Typescript глобально (npm -g) ни на хосте, ни на гостевой ОС (чтобы подтвердить это, запуск
npm -g ls typescript
на хосте + гость показывает «пусто», а запуск только «tsc» не работает , как и ожидалось).
У меня есть проект с TypeScript 3.3.3333, установленный в проект с NPM.
В операционной системе Windows, когда я cd
в папку проекта и запускаю:
npm ls typescript
Я вижу вывод: typescript@3.3.3333
(как и ожидалось)
npx tsc --version
Я вижу вывод: Version 3.3.3333
(как и ожидалось)
Внутри гостевой ОС Linux, когда я cd
в папку проекта и запускаю:
npm ls typescript
Я вижу вывод: typescript@3.3.3333
(как и ожидалось)
npx tsc --version
Я вижу вывод: message TS6029: Version 1.5.3
( неожиданно! )
Так что я не могу запустить npx tsc
для компиляции моего кода в гостевой системе, поскольку он не поддерживает некоторые из моих новых настроек tsconfig.
Откуда взялась эта версия tsc 1.5.3 и как от нее избавиться?
Или есть какая-нибудь альтернативная команда NPM, которую я могу запустить на хосте, которая установит пригодный tsc
в проект, который работает как для Windows + Linux?
Кроме того, ни одна из родительских папок выше в корне моего проекта есть папка node_modules
(но, конечно, в корне моего проекта есть подпапка node_modules).