tsc wird nicht als interner oder externer Befehl erkannt

7

Ich habe von VSCode 0.10.6 auf 0.10.8 aktualisiert und versucht, Typoskript zum ersten Mal zu verwenden. Leider wenn ich VSCode zu bauen, bekomme ich den Fehler:

  

TSC wird nicht als interner oder externer Befehl erkannt ...

Hier sind die relevanten Details:

  • Ich habe ein neues "HelloWorld" -Projekt gemäß VS-Code-Anweisungen erstellt . Dies beinhaltete:
    • Ich habe npm init für ein neues package.json
    • ausgeführt
    • Ich habe npm i --save-dev typescript ausgeführt, weil ich eine lokale Installation anstelle einer globalen Installation möchte.
    • Ich habe eine launch.json erstellt, um ein node.js-Projekt zu definieren.
    • Ich habe die Datei tasks.json mit den vorgeschriebenen Einstellungen für tsc erstellt.
  • Ich habe eine settings.json-Datei erstellt, wie hier gezeigt . Es hat nicht geholfen.
  • Ich habe die Visual Studio 2015-Community installiert, aber ich habe keine Typoskript-Erweiterung irgendeiner Art installiert. Wenn ich an einer Eingabeaufforderung des Entwicklers "where tsc" eintippe, antwortet es "konnte nicht finden". Ich nehme an, das ist eine gute Sache.

Ich habe VSCode (mehrmals) neu gestartet. Was vermisse ich? Was muss mehr getan werden?

Aktualisieren

Ich habe die Lösung von @zlumer ausprobiert. Es gelang, den Typoskript-Compiler auszuführen, aber dann wurden Tausende von Fehlern angezeigt. Um das zu beheben, musste ich auch meine tsconfig.json anpassen, um den Ordner node_modules auszuschließen:

%Vor%     
Brent Arias 12.02.2016, 18:15
quelle

4 Antworten

19

Das Problem ist, dass tsc nicht in Ihrem PATH ist, wenn es lokal installiert ist.

Sie sollten Ihre .vscode/tasks.json so ändern, dass sie den vollständigen Pfad zu tsc enthält.

Die zu ändernde Zeile ist wahrscheinlich gleich "command": "tsc" .

Sie sollten es in "command": "node" ändern und Folgendes zu Ihren Argumenten hinzufügen: "args": ["${workspaceRoot}\node_modules\typescript\bin\tsc"] (unter Windows).

Dies weist VSCode an:

  1. Run NodeJS (sollte global installiert sein).
  2. Übergeben Sie Ihre lokale Typescript-Installation als auszuführendes Skript.

(das ist ziemlich genau was tsc executable tut)

Sind Sie sicher, dass Sie Typescript nicht global installieren möchten? Es sollte die Dinge erleichtern, vor allem, wenn Sie gerade anfangen, es zu benutzen.

    
zlumer 12.02.2016, 18:29
quelle
7

In der VSCode-Datei tasks.json wird "command": "tsc" versuchen, das TSC-Windows-Befehlsskript in einem Ordner zu finden, den es für Ihren Modulordner hält.

Wenn Sie wissen, wo der Befehl npm install -g typescript oder npm install typescript speichert, würde ich empfehlen:

zu ersetzen %Vor%

mit

%Vor%

wobei D:\...\bin der Ordner ist, der meine ausführbare Datei von tsc windows enthält

Bestimmt, wo mein vscode nativ auf den richtigen Zeitpunkt zeigt, um den tsc zu finden und ihn zu reparieren, denke ich.

    
Drop Bear Dan 14.11.2016 01:26
quelle
2

Ich war mit diesem Problem konfrontiert und habe dies durch Ausführen dieses Befehls behoben, aber das wird das Typoskript als global installieren. Führen Sie diesen Befehl mit der Eingabeaufforderung (cmd) aus, oder verwenden Sie den VS-Code-Terminal

%Vor%

nach der Installation von Typoskript global, jetzt können Sie

verwenden %Vor%

Dies wird Ihre Typoskript-Datei in Javascript-Datei kompilieren

    
WasiF 20.12.2017 04:20
quelle
1

Alternativ können Sie npm verwenden, das automatisch in den Ordner .bin schaut. Dann können Sie TSC

verwenden     
Dirk Bäumer 18.02.2016 16:19
quelle