Incompatibilité de version entre le compilateur tsc et le service de langue de VS Code

Je viens de commencer à jouer avec Visual Studio Code et quand j’ai créé un nouveau fichier appelé index.html, je suis montré ce message d’avertissement

Une incompatibilité de version entre le compilateur tsc globalement installé (1.0.3.0) et le service de langue de VS Code (1.8.10) a

Quelqu’un peut-il me guider s’il vous plaît ce que je dois faire pour résoudre ce problème.

Est-ce grave ou je peux ignorer. J’ai googlé mais n’a pas pu obtenir beaucoup d’informations

Merci

entrer la description de l'image ici

Je l’ai ajouté à mon fichier settings.json , accessible via les preferences > Workspace Settings :

"typescript.tsdk": "node_modules/typescript/lib"

Maintenant, je ne reçois plus cette erreur et dans le coin inférieur droit de mon écran, il affiche la version actuelle de Typescript que j’ai installée.

[UPDATE] VS Code 1.6 now ships with TypeScript 2.0.3 .

Je viens d’installer la dernière version de Typescript, actuellement v.2.0.3 , et v.2.0.3 installé VS Code v.1.5.3 sur macOS Sierra. Pour une raison quelconque, suivre exactement le document officiel n’a pas fonctionné pour moi.

Voici comment je l’ai fait fonctionner:

Après avoir installé la dernière version globalement: npm i -g typescript , j’ai ajouté la ligne suivante à mon fichier settings.json (ouvert par cmd + , ):

"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib",

J’espère que ceci aide quelqu’un d’autre.

[update] comme @ptpaterson mentionné dans le commentaire ci-dessous, sous Windows, le chemin est: "typescript.tsdk": "C:/Users/{user_name}/AppData/Roaming/npm/node_modules/typescript/lib/"

Vous devez modifier la version de TypeScript utilisée par Visual Code pour correspondre à la version que vous avez installée:

https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions

Ce qui précède est tiré du lien:

Si vous souhaitez utiliser une version plus récente de TypeScript, vous pouvez définir le paramètre typescript.tsdk (Fichier> Préférences> Paramètres utilisateur / espace de travail) pointant vers un répertoire contenant le fichier TypeScript tsserver.js.

Vous pouvez trouver l’emplacement d’installation en utilisant ncript list typecript, tsserver.js est généralement sous le dossier lib.

Par exemple:

 { "typescript.tsdk": "node_modules/typescript/lib" } 

Vous devez mettre à jour votre installation Typescript et redémarrer Code après:

 npm install -g typescript 

ou

 npm install -g typescript@1.8.10 

Le message ne devrait plus apparaître s’il fonctionnait.

Cette erreur était générée car j’avais une référence à une ancienne installation de TypeScript dans ma variable de chemin système:

 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ 

L’erreur de code Visual Studio a été résolue lorsque j’ai supprimé cette entrée.

Cependant, mes fichiers TypeScript n’ont pas pu être tsc.exe car l’action de génération n’a pas pu trouver le fichier tsc.exe .

Lorsque le SDK est installé (via Visual Studio ou via une installation manuelle *.visx ), un fichier tsc.exe est installé et la variable d’environnement PATH est mise à jour pour référencer le dossier dans lequel réside ce fichier (voir ci-dessus).

Il existe un autre moyen de transposer vos fichiers dans un environnement Windows en utilisant node.js:

  • Installez node.js. Les paquets d’installation peuvent être trouvés ici .
  • Utilisez npm pour installer TypeScript:

    npm install -g typescript

    Cela va append les fichiers TypeScript à votre dossier AppData profil:

    C:\Users\{your_user_name}\AppData\Roaming\npm\node_modules\typescript\lib

  • Configurez le fichier settings.json votre utilisateur Visual Studio Code pour référencer ce dossier:

     {
     "typescript.tsdk": "C: \\ Users \\ {votre_nom_utilisateur} \\ AppData \\ Roaming \\ npm \\ node_modules \\ typescript \\ lib"
     } 
  • Ajoutez / mettez à jour la variable d’environnement PATH utilisateur pour référencer le dossier contenant le fichier tsc.cmd :

    %USERPROFILE%\AppData\Roaming\npm

Aucune des solutions ci-dessus n’a fonctionné pour moi – tout d’abord, c’est la solution globale que je souhaite mettre à jour avec la dernière version.

Après quelques recherches, le problème réside dans les variables PATH du système. tsc.cmd (avec tscserver.cmd ) existe dans ces emplacements:

  • c: \ Program Files \ nodejs – où npm.exe et node.exe sont
  • % USERPROFILE% \ AppData \ Roaming \ npm – où les packages globaux sont

Ce que vous pouvez faire est de jongler avec les variables environnement \ utilisateur afin que la commande tsc soit résolue à partir de % USERPROFILE% au lieu de Program Files .

La méthode rapide et sale consisterait simplement à supprimer tsc.cmd et tscserver.cmd du chemin du programme .

L’installation de v2.0.3 de typescript n’était pas suffisante … mais alors la mise à jour de la dépendance de version sur package.json a fonctionné pour moi.

Commande Npm:

 npm install -g typescript@2.0.3 

Ligne mise à jour sur package.json:

 "typescript": "^2.0.3" 

Installez TypeScript globalement pour partager l’installation sur plusieurs espaces de travail. Dans ce cas, vous l’installez en utilisant npm install -g typescript@next .

Vous devez ensuite indiquer à VS Code sur le fichier setting.json ( File -> Preferences -> Workspace Settings ) l’emplacement d’installation à l’aide du paramètre typescript.tsdk. Définissez typescript.tsdk sur le chemin du dossier lib contenant le fichier tsserver.js du module TypeScript installé.

Sous windows: "typescript.tsdk": "C:/Users//AppData/Roaming/npm/node_modules/typescript/lib"

Sur Mac: "typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib"

L’installation de VSCode 1.6.0 a corrigé le message d’avertissement d’incompatibilité de version de TypeScript pour moi.

La cause de mon expérience avec ce problème (dans VSCode 1.8 sur Mac OS X 10.12.2) était que j’utilisais NVM et que pendant l’exécution de mon code sur la version NVM, VSCode examinait une installation système de node.

Vérifiez deux fois quelle installation de npm vous utilisez pour installer typograph globalement. En cas de doute (sous linux / mac), utilisez which tsc de la ligne de commande pour vérifier l’emplacement utilisé par VSCode.

Par exemple, si j’appelle simplement npm i -g typescript , npm résout en ~/.nvm/versions/node/v6.9.1/bin/npm . J’ai dû résoudre le problème en appelant explicitement /usr/local/bin/npm i -g typescript car VSCode recherche le noeud dans /usr/local/bin/node par défaut.

Si vous choisissez d’ignorer après coup, vous pouvez append ceci à votre fichier settings.json via Preferences:

 "typescript.check.tscVersion": false 

Selon le commentaire dans VS Code 1.10.2:

Vérifiez si un compilateur d’installation global TypeScript (par exemple, tsc) diffère du service de langage TypeScript utilisé.

Vous penseriez que ce serait un produit Microsoft, ils donneraient les chemins Windows sur leur site Web

https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions

mais ils ne le font pas. Ils ne donnent que les types de chemin Unix. Utiliser: – Sous windows: “typescript.tsdk”: “C: / Users / YourNameHere / AppData / Roaming / npm / node_modules / typescript / lib /”

Notez que les traits directs doivent être utilisés même si Windows utilise des raccourcis pour les chemins!

Certaines autres réponses manquent le dernier coup qui est nécessaire.

Vous pouvez simplement supprimer ‘typescript.tsdk’ et utiliser celui incorporé dans Code si vous ne vous souciez pas vraiment de la version de tsdk que vous utilisez.