node.js - tsc není rozpoznán jako interní nebo externí příkaz
Aktualizoval jsem z VSCode 0.10.6 na 0.10.8 a poprvé jsem zkoušel použít Typescript. Bohužel, když řeknu VSCode, aby provedl sestavení, dostanu tuto chybu:
tsc není rozpoznáno jako vnitřní nebo vnější příkaz...
Zde jsou relevantní údaje:
Vytvořil jsem nový projekt „HelloWorld“ podle pokynů VS Code. To zahrnovalo:
- Spustil jsem
npm initpro nový soubor package.json
- Spustil jsem
- Spustil jsem
npm i --save-dev typescript, protože chci lokální instalaci, nikoli globální. - Vytvořil jsem soubor launch.json pro definování projektu node.js.
- Vytvořil jsem soubor tasks.json s předepsanými nastaveními pro tsc.
Restartoval jsem VSCode (několikrát). Co mi chybí? Co ještě je třeba udělat?
Aktualizace
Zkusil jsem řešení, které nabídl @zlumer. Podařilo se tím spustit kompilátor TypeScriptu, ale pak se objevily tisíce chyb. Abych to opravil, musel jsem také upravit svůj soubor tsconfig.json a vyloučit složku node_modules:
"exclude": [
"node_modules"
]
Odpověď č. 1
Může existovat důvod, proč Typescript není nainstalován globálně, tak jej nainstalujte
npm install -g typescript // installs typescript globally
Pokud chcete převést soubory .ts na .js, udělejte to podle vaší potřeby
tsc path/file.ts // file.ts will be converted to file.js
tsc // all .ts files will be converted to .js files with in the directory
tsc --watch // converts all .ts files to .js, and watch changes in .ts files
Odpověď č. 2
Musíte spustit:
npx tsc
...místo toho, aby jen volal tsc sám o sobě jako příkaz Windows, jak se zdá, že všichni ostatní navrhují.
Pokud nemáte nainstalovaný npx, měli byste ho nainstalovat. Měl by být nainstalován globálně (na rozdíl od Typescriptu). Nejprve tedy spusťte:
npm install -g npx
..pak spusťte npx tsc.
Odpověď č. 3
Problém je v tom, že tsc není ve vašem PATH, pokud je nainstalován lokálně.
Měli byste upravit svůj .vscode/tasks.json, aby obsahoval úplnou cestu k tsc.
Řádek, který je třeba změnit, je pravděpodobně roven "command": "tsc".
Měli byste to změnit na "command": "node" a přidat následující do svých args: "args": ["$ {workspaceRoot}\\node_modules\\typescript\\bin\\tsc"] (na Windows).
Tímto bude VSCode instrukováno, aby:
- Spusťte NodeJS (mělo by být nainstalováno globálně).
- Předajte svou místní instalaci Typescriptu jako skript, který se má spustit.
(to je prakticky to, co dělá spustitelný soubor tsc)
Jste si jistý, že nechcete nainstalovat Typescript globálně? Mělo by to věci usnadnit, zvlášť pokud s jeho používáním teprve začínáte.
Odpověď č. 4
Pro Windows
Po globální instalaci TypeScriptu
npm install typescript -g
prostě vyhledejte „node.js příkazový řádek“
napsat do příkazového řádku
tsc -v
Zde vidíme, že příkaz tsc funguje, nyní přejděte do své složky a zadejte
tsc filename.ts
Je to v souladu se souborem TS na JS.
