Tsc не распознается как внутренняя или внешняя команда
Я обновил с VSCode 0.10.6 до 0.10.8 и впервые попытался использовать Typescript. К сожалению, я, когда я говорю VSCode для сборки, получаю ошибку:
tsc не распознается как внутренняя или внешняя команда...
Вот необходимые сведения:
- Я создал новый проект HelloWorld в соответствии с инструкциями VS Code. Это включало:
- Я запустил
npm init
для нового package.json
- Я побежал
npm i --save-dev typescript
, потому что хочу локальную установку, а не глобальную установку.
- Я создал файл launch.json для node.js.
- Я создал файл tasks.json с заданными настройками для tsc.
- Я сделал файл settings.json, как показано здесь. Это не помогло.
- У меня установлено приложение Visual Studio 2015, но я не установил расширение Typescript любого типа. Когда я набираю "where tsc" в командной строке разработчика, он отвечает "не смог найти". Я предполагаю, что это хорошо.
Я перезапустил VSCode (несколько раз). Что мне не хватает? Что еще нужно сделать?
Update
Я попробовал решение, предлагаемое @zlumer. Это удалось сделать компилятором Typescript, но затем он вызвал тысячи ошибок. Чтобы исправить это, мне также пришлось настроить tsconfig.json, чтобы исключить папку node_modules:
"exclude": [
"node_modules"
]
Ответы
Ответ 1
Проблема заключается в том, что tsc
не находится в вашем PATH
, если локально установлен.
Вы должны изменить свой .vscode/tasks.json
, чтобы включить полный путь к tsc
.
Линия для изменения, вероятно, равна "command": "tsc"
.
Вы должны изменить его на "command": "node"
и добавить следующие аргументы в ваши аргументы: "args": ["${workspaceRoot}\\node_modules\\typescript\\bin\\tsc"]
(в Windows).
Это даст команду VSCode:
- Запустить NodeJS (он должен быть установлен глобально).
- Пропустите локальную установку Typescript в качестве script для запуска.
(что в значительной степени соответствует исполняемому файлу tsc
)
Вы уверены, что не хотите устанавливать Typescript глобально? Это должно облегчить задачу, особенно если вы только начинаете ее использовать.
Ответ 2
Может быть причина того, что Typescript
не установлен глобально, поэтому установите его
npm install -g typescript // installs typescript globally
Если вы хотите конвертировать .ts
файлы в .js
, сделайте это в соответствии с вашими потребностями
tsc file.ts // file.ts will be converted to file.js file
tsc // all .ts files will be converted to .js files in the directory
tsc --watch // converts all .ts files to .js, and watch changes in .ts files
Ответ 3
В файле VSCode tasks.json
"command": "tsc"
попытается найти команду tsc windows script в некоторой папке, которую она считает вашей папкой модулей.
Если вы знаете, где хранится команда npm install -g typescript
или npm install typescript
, я бы рекомендовал заменить:
"command": "tsc"
с
"command": "D:\\Projects\\TS\\Tutorial\\node_modules\\.bin\\tsc"
где D:\\...\\bin
- это папка, содержащая исполняемые файлы tsc windows
![]()
Определит, где мой vscode на самом деле указывает прямо сейчас, чтобы найти tsc и исправить его, я думаю.
Ответ 4
В качестве альтернативы вы можете использовать npm, который автоматически смотрит в папку .bin. Затем вы можете использовать tsc
Ответ 5
Вы пропустили установку машинописного текста, просто запустите команду ниже и попробуйте tsc --init
npm install -g typescript
Ответ 6
Я тоже столкнулся с той же проблемой. Используйте командную строку nodeJS вместо командной строки Windows.
Шаг 1: Выполнить npm install -g typescript
Шаг 2: tsc filename.ts
Новый файл будет иметь то же имя и другое расширение, что и ".js"
Шаг 3: node filename.js
Вы можете увидеть вывод на экране. Меня устраивает.
Ответ 7
Для окон
После установки машинописи глобально
npm install typescript -g
просто найдите "командную строку node.js"
введите командную строку
tsc -v
Здесь мы видим, что команда tsc работает, теперь перейдите к вашей папке и введите
tsc filename.ts
он соответствует TS в файл JS.