Я хочу иметь возможность запускать 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
Я вижу вывод:[email protected]
(как и ожидалось)npx tsc --version
Я вижу вывод:Version 3.3.3333
(как и ожидалось)
В гостевой ОС Linux, когда я cd
захожу в папку проекта и запускаю:
npm ls typescript
Я вижу вывод:[email protected]
(как и ожидалось)npx tsc --version
Я вижу вывод:message TS6029: Version 1.5.3
(неожиданно!)
Поэтому я не могу запустить npx tsc
для компиляции моего кода внутри гостя, так как он не поддерживает некоторые из моих новых настроек tsconfig.
Откуда может взяться эта версия tsc 1.5.3 и как от нее избавиться?
Или есть какая-то альтернативная команда NPM, которую я могу запустить на хосте, которая установит пригодный для использования tsc
в проект, который работает как для Windows, так и для Linux?
Кроме того, ни в одной из родительских папок выше в корне моего проекта нет папки node_modules
(но, конечно, в корне моего проекта есть подпапка node_modules).