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
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.
[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/"
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" }
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é.
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:
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
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:
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.
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"
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.
L'installation de VSCode 1.6.0 a corrigé pour moi le message d'avertissement d'incompatibilité de version TypeScript.
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"
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é.
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.
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.