web-dev-qa-db-fra.com

tsc n'est pas reconnu comme commande interne ou externe

J'ai mis à jour du VSCode 0.10.6 à 0.10.8 et essayé d'utiliser TypeScript pour la première fois. Malheureusement, lorsque je demande à VSCode de construire, j'obtiens l'erreur suivante:

tsc n'est pas reconnu comme une commande interne ou externe ...

Voici les détails pertinents:

  • J'ai créé un nouveau projet "HelloWorld" conformément aux instructions du code VS . Cela comprenait:
    • J'ai couru npm init pour un nouveau package.json
    • J'ai exécuté npm i --save-dev TypeScript parce que je veux une installation locale, plutôt qu'une installation globale.
    • J'ai créé un launch.json pour définir un projet node.js.
    • J'ai créé le fichier tasks.json, avec les paramètres recommandés pour tsc.
  • J'ai créé un fichier settings.json, comme indiqué ici . Cela n'a pas aidé.
  • Visual Studio 2015 Community est installé sur mon ordinateur, mais je n’ai installé aucune extension TypeScript. Lorsque je tape "où tsc" dans une invite de commande de développeur, il répond "n'a pas pu trouver". Je suppose que c'est une bonne chose.

J'ai redémarré le VSCode (plusieurs fois). Qu'est-ce que je rate? Que faut-il faire de plus?

Mettre à jour

J'ai essayé la solution proposée par @zlumer. Il a réussi à faire fonctionner le compilateur TypeScript, mais a ensuite provoqué l'apparition de milliers d'erreurs. Pour résoudre ce problème, j'ai également dû ajuster mon tsconfig.json pour exclure le dossier node_modules:

"exclude": [
    "node_modules"
]
13
Brent Arias

Le problème est que tsc n'est pas dans votre PATH si installé localement.

Vous devez modifier votre .vscode/tasks.json pour inclure le chemin complet de tsc.

La ligne à modifier est probablement égale à "command": "tsc".

Vous devriez le changer en "command": "node" et ajouter ce qui suit à vos arguments: "args": ["${workspaceRoot}\\node_modules\\TypeScript\\bin\\tsc"] (sous Windows).

Cela va indiquer à VSCode de:

  1. Exécutez NodeJS (il devrait être installé globalement).
  2. Passez votre installation TypeScript locale en tant que script à exécuter.

(c'est à peu près ce que fait tsc exécutable)

Êtes-vous sûr de ne pas vouloir installer TypeScript globalement? Cela devrait faciliter les choses, surtout si vous commencez juste à l'utiliser.

25
zlumer
npm install -g TypeScript // installs TypeScript globally

Si vous voulez convertir des fichiers .ts en .js, procédez comme vous le souhaitez.

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 to .ts files
16
WasiF

Dans le fichier VSCode tasks.json, le "command": "tsc" essaiera de trouver le script de commande tsc windows dans un dossier considéré comme votre dossier de modules.

Si vous savez où la commande npm install -g TypeScript ou npm install TypeScript enregistre, je vous recommande de remplacer:

"command": "tsc"

avec

"command": "D:\\Projects\\TS\\Tutorial\\node_modules\\.bin\\tsc"

D:\\...\\bin est le dossier contenant mon exécutable tsc windows

Déterminerai où mon vscode pointe nativement pour trouver le tsc et le réparer, je suppose.

8
Drop Bear Dan

Vous pouvez également utiliser npm, qui recherche automatiquement le dossier .bin. Ensuite, vous pouvez utiliser tsc

2
Dirk Bäumer

Moi aussi j'ai fait face au même problème. Utilisez l'invite de commande nodeJS au lieu de l'invite de commande windows. 

Étape 1: Exécutez le npm install -g TypeScript

Étape 2: tsc filename.ts

Le nouveau fichier sera créé avec le même nom et une extension différente de " .js "

Étape 3: node filename.js

Vous pouvez voir la sortie sur l'écran. Ça marche pour moi.

0
Srinivasan.S

Vous avez manqué l'installation de TypeScript, exécutez simplement la commande ci-dessous, puis essayez tsc --init

npm install -g TypeScript
0
Virendra khade