web-dev-qa-db-fra.com

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 lorsque j'ai créé un nouveau fichier appelé index.html, ce message d'avertissement s'affiche.

Une incompatibilité de version entre le compilateur tsc installé globalement (1.0.3.0) et le service de langage 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 l'ignorer? J'ai googlé mais je n'ai pas pu obtenir beaucoup d'informations

Merci

 enter image description here

42
VivekDev

J'ai ajouté ceci à mon fichier settings.json, accessible via 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 l'écran, s'affiche la version actuelle de TypeScript que j'ai installée. 

28
Rarepuppers

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

Je viens d'installer le dernier TypeScript, actuellement v.2.0.3, et d'installer VS Code v.1.5.3 sur macOS Sierra. Pour une raison quelconque, suivre exactement la documentation officielle ne me convenait pas.

Voici comment je l'ai fait fonctionner:

Après avoir installé globalement la dernière version: 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.

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

17
rafaelbiten

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 à l'aide de la liste npm TypeScript. Tsserver.js se trouve généralement dans le dossier lib.

Par exemple:

{
    "TypeScript.tsdk": "node_modules/TypeScript/lib"
}
10
andreasnauta

Vous devez mettre à jour votre installation TypeScript et redémarrer Code par la suite:

npm install -g TypeScript

ou

npm install -g [email protected]

Le message ne devrait plus apparaître, si cela a fonctionné.

9
kwood

Cette erreur était générée car j'avais une référence à une ancienne installation de TypeScript dans ma variable de chemin d'accès 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 transpilés, 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 de *.visx), un fichier tsc.exe est installé et la variable d'environnement PATH est mise à jour pour référencer le dossier dans lequel ce fichier réside (voir ci-dessus).

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

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

    npm install -g TypeScript

    Cela ajoutera les fichiers TypeScript à votre dossier de profil AppData:

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

  • Configurez votre fichier Code utilisateursettings.json de Visual Studio pour référencer ce dossier:

     {
     "TypeScript.tsdk": "C: \\ Utilisateurs \\ {votre_nom_utilisateur} \\ AppData \\ Roaming \\ npm \\ module_noeud \\ TypeScript \\ lib" 
    }
  • Ajoutez/mettez à jour la variable d'environnement PATH user pour référencer le dossier contenant le fichier tsc.cmd:

    %USERPROFILE%\AppData\Roaming\npm

8
John

Aucune des solutions ci-dessus n'a fonctionné pour moi. Tout d'abord, il s'agit du tsc global que je souhaite mettre à jour avec la dernière version. 

Après des recherches, il est apparu que le problème résidait dans les variables PATH du système. tsc.cmd (avec tscserver.cmd ) existe à ces emplacements:

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

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

Le moyen le plus simple serait de supprimer tsc.cmd et tscserver.cmd du Program Files path.

4
Bartosz Lenar

Installer la v2.0.3 de TypeScript n'était pas suffisant ... mais mettre à jour la dépendance de version sur package.json a fonctionné pour moi.

Commande Npm:

npm install -g [email protected]

Ligne mise à jour sur package.json:

"TypeScript": "^2.0.3"
3
Eren Aygunes

La raison 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 mon code fonctionnait sur la version NVM, VSCode examinait une installation système de noeud.

Vérifiez l’installation de npm que vous utilisez pour installer TypeScript globalement. En cas de doute (sous linux/mac), utilisez which tsc à partir de la ligne de commande pour vérifier l'emplacement utilisé par VSCode.

Par exemple, si j'appelle simplement npm i -g TypeScript, npm se 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.

1
Matt Keeble

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

1
user3785010

Installez TypeScript globalement pour partager l'installation sur plusieurs espaces de travail. Dans ce cas, vous l'installez à l'aide de 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é.

Sur les fenêtres: "TypeScript.tsdk": "C:/Users/<MyUser>/AppData/Roaming/npm/node_modules/TypeScript/lib"

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

1
equiman

Si vous choisissez d'ignorer après coup, vous pouvez l'ajouter à votre fichier settings.json via Préférences:

"TypeScript.check.tscVersion": false

Selon le commentaire dans VS Code 1.10.2: 

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

0
s3-4v

Vous penseriez que ceci étant 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 d'accès Unix . Utilisez: - Sous Windows: "TypeScript.tsdk": "C:/Utilisateurs/VotreNomHere/AppData/Roaming/npm/module_noeud/TypeScript/lib /"

Notez que les traits avant doivent être utilisés même si Windows utilise des coups en arrière pour les chemins!

Certaines autres réponses manquent le dernier trait avant nécessaire.

0
Quentin 2

Vous pouvez simplement supprimer 'TypeScript.tsdk' et utiliser celui intégré dans Code si vous ne vous souciez pas vraiment de la version de tsdk que vous utilisez.

0
Milenko Djuricin