'tsc Befehl nicht gefunden' beim Kompilieren von Typoskript

83

Ich möchte Typoskript installieren, daher habe ich den folgenden Befehl verwendet:

npm install -g typescript 

und testen tsc --version, aber es zeigt nur 'tsc Befehl nicht gefunden'. Ich habe viele Möglichkeiten ausprobiert, wie in Stackoverflow, Github und anderen Sites vorgeschlagen. aber es funktioniert nicht. Woher weiß ich, dass Typoskript installiert ist und wo es sich befindet?

Mein Betriebssystem ist Unix, OS X El Capitan 10.11.6, die Knotenversion ist 4.4.3, die npm-Version ist 3.10.5

Aung Thet
quelle
1
Nehmen Sie Ihr Betriebssystem und seine Version sowie Ihre Node.js- und NPM-Versionen in Ihre Frage auf.
Cartant
5
Höchstwahrscheinlich haben Sie ein Problem mit Ihrem Node / Npm-Setup. Beispielsweise befindet sich das entsprechende npm-Verzeichnis nicht auf Ihrem Pfad. Wo Typoskript installiert ist, hängt von Ihrer Umgebung ab, aber Sie können damit beginnen npm list -g. Oder versuchen Sie es npm config get prefix(Ihre Pakete befinden sich normalerweise im binVerzeichnis darunter). Siehe auch diese Frage .
Danke, ich habe es verstanden. Ich habe vergessen, den Präfixpfad zu exportieren.
Aung Thet
Sie können auch meine Antwort
Zameer Ansari

Antworten:

115

Ein paar Tipps in Ordnung

  • Starten Sie das Terminal neu
  • Starten Sie die Maschine neu
  • Installieren Sie nodejs + neu und führen Sie es aus npm install typescript -g

Wenn es immer noch nicht funktioniert, führen Sie es aus, um npm config get prefixzu sehen, wo npm install -g Dateien ablegt ( binan die Ausgabe anhängen ), und stellen Sie sicher, dass sie sich im Pfad befinden (das Setup des Knotens js führt dies aus. Möglicherweise haben Sie vergessen, diese Option anzukreuzen).

Basarat
quelle
3
Danke, ich habe es. Klar, ich habe vergessen, den Pfad `export PATH = / prefix'sPath / bin: $ PATH ' zuzuweisen und ( docs.npmjs.com/getting-started/fixing-npm-permissions ) auch diese Site schlägt dies vor. Ich habe einen ganzen Tag dafür gebraucht :).
Aung Thet
stackoverflow.com/a/46783952/495157 - Diese Antwort ist informativer - insbesondere, wenn Sie Angular / Ionic-Entwicklung durchführen.
JGFMK
1
Ich musste node / npm deinstallieren. Gebrauchte Gebräu NVM zu installieren und dann Knoten installiert wird nvm install nodedann sudo npm install -g typescriptzu erhalten , tsc --versionum Arbeit
alex
1
Ich habe nur "npm install typescript -g" und es hat perfekt funktioniert
pixparker
Das Upgrade der Node-Version hat mir geholfen.
JavaDeveloper
29

Ich musste das machen:

npx tsc app.ts
Oscar Jovanny
quelle
2
Das hat mir geholfen, aber um es zu klären, musste ich es tun npm install --save-dev typescript && npx tsc --version && npx tsc <filename>. Dadurch wurde meine Datei installiert tsc, erfolgreich getestet --versionund erfolgreich tszu einer jsDatei kompiliert .
Jason Fry
Das hat funktioniert, aber ich habe es nur benutzt npx tsc. Durch Hinzufügen von tsc wird wahrscheinlich die Verwendung von npx behoben.
Foureyedraven
8

Wenn Ihr TSC-Befehl nach der ordnungsgemäßen Installation von TypeScript nicht in MacOS gefunden wird (mit dem folgenden Befehl:) $ sudo npm install -g typescript, stellen Sie sicher /bin, dass der PATHVariablen in ein Knotenpfad hinzugefügt wird .bash_profile.

Öffnen .bash_profilemit Terminal: $ open ~ / .bash_profile;

Bearbeiten / Überprüfen Sie das Bash-Profil so, dass es die folgende Zeile enthält ( mit Ihrem bevorzugten Texteditor ):

export PATH="$PATH:"/usr/local/lib/node_modules/node/bin"";

Laden Sie das neueste Bash-Profil mit dem Terminal : source ~/.bash_profile;

Zuletzt versuchen Sie den Befehl : $ tsc --version.

Pandi
quelle
7

Sie alle spielen mit den globalen Installationen und -path-Dateien. Nur ein kleiner Fehler kann jedes Projekt beschädigen, das Sie jemals geschrieben haben, und Sie werden den Rest der Nacht damit verbringen, ein console.log ('hi') wieder zum Laufen zu bringen: - =.

Wenn Sie npm i typescript --save-dev in Ihrem Projekt ausgeführt haben - versuchen Sie einfach Folgendes auszuführen:

npx tsc

und sehen Sie, ob es funktioniert, bevor Sie mit globalen Dingen herumspielen (es sei denn, Sie wissen wirklich, was Sie tun).

Prost

Per Høyer
quelle
5

Einfache Lösung für Mac, die ich gefunden habe. Führen Sie einfach die folgenden Befehle aus:

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript

Nichts hat funktioniert, außer das für mich.

Teja
quelle
3

Ich weiß, dass dies eine alte Frage ist, aber ich hatte das gleiche Problem unter Ubuntu 19.10 LTS.

Um dies zu lösen, habe ich den folgenden Befehl ausgeführt:

$ sudo apt install node-typescript

Danach konnte ich verwenden tsc.

Ich hoffe, es hilft :)

Rodrigo Marques
quelle
3

Diese Antwort ist spezifisch für iTermV2 auf MAC

  1. Zunächst musste ich sudowährend der NPM-Installation als (admin) installieren

    sudo npm install -g Typoskript

  2. NPM installiert die Bibliotheken unter /usr/local/Cellar/node/<your latest version>/lib/node_modules/typescriptOrdner und Symlinks unter/usr/local/Cellar/node/<your latest version>/bin/tsc

Daher ging ich zu ~ / .zshrc (.bashrc, wenn Sie bash verwenden) und fügte /usr/local/Cellar/node/<your latest version>/bindem $ PATH hinzu.

  1. Laden Sie das Shell-Profil über source ~/.zshrc(.bashrc in Ihrem Fall) neu.
sjs
quelle
Hm gut zu wissen. Aber wer kümmert sich von nun an um diese Links?
Chris Pillen
3

Nachdem Sie alle Lösungen für dieses kleine Problem nur für macOS gefunden haben.
Endlich habe ich meine TSC-Arbeiten auf meinem MacBook Pro.

Dies könnte die beste Lösung sein, die ich herausgefunden habe.

Anstatt Typoskript mit npm zu installieren, können Sie für alle macOS-Benutzer Typoskript mit Homebrew installieren.

-> brew install typescript

Die Referenz finden Sie in der beigefügten Bildschirmabdeckung.

Vielen Dank.

Geben Sie hier die Bildbeschreibung ein

Marjun
quelle
2

Die einzige Lösung, die für mich funktioniert hat, war npx tsc -v oder das Kompilieren von npx tsc salida.ts

"salida.ts" ist der Name der Datei

juan.pedro.v
quelle
0

Nicht-Administrator-Lösung

Ich habe keine Administratorrechte, da dieser Computer von meinem Job ausgestellt wurde.

  • Holen Sie sich den Pfad, wo Knotenmodule installiert werden, und kopieren Sie ihn in die Zwischenablage
    • npm config get prefix | clip
    • Hast du keinen Clip? Kopieren Sie einfach die Ausgabe vonnpm config get prefix
  • Kopierpfad zu Umgebungsvariablen hinzufügen
    • meine bevorzugte Methode (Windows)
    • (Strg + R) einfügen rundll32 sysdm.cpl,EditEnvironmentVariables
    • Doppelklicken Sie unter Benutzervariablen auf Pfad > Neu > Kopierten Pfad einfügen
Codeherk
quelle
0

Keine der obigen Antworten löst mein Problem. Tatsache ist, dass in meinem Projekt kein Typenskript installiert war. Aber vor Ort war ich gelaufen npm install -g typescript. Daher habe ich nicht bemerkt, dass die Typoskriptknotenabhängigkeit nicht in meinem Paket json enthalten ist.

Wenn ich es auf Server - Seite geschoben, und läuft npm install, dann npx tscbekomme ich eine tsc nicht gefunden. Tatsächlich war auf dem Remote-Server kein Typoskript installiert. Das wurde wegen meiner lokalen globalen Typoskript-Installation versteckt.

Romain TAILLANDIER
quelle
0
  1. Überprüfen Sie Ihre npmVersion

  2. Wenn es nicht richtig installiert ist, installieren Sie es zuerst

  3. Führen Sie diesen Befehl aus npm install typescript -g

  4. jetzt tsc <file_name>.ts

  5. Es wird eine entsprechende .jsDatei erstellt. z.B<file_name>.js

  6. Jetzt versuche es node <file_name>.js

Akash Dutta
quelle
-1

Für Windows:

Fügen Sie den Pfad hinzu, indem Sie den folgenden Befehl in der Eingabeaufforderung verwenden:
path =% path%; C: \ Users \\ npm

Wie in meinem Fall wurde der obige Pfad nicht für den Befehl registriert.

% userprofile% in ausgeführten Fenstern gibt Ihnen den Pfad zu C: \ users \

Durgesh
quelle
-1

Dies funktioniert perfekt auf dem Mac. Getestet auf macOS High Sierra

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init

Dadurch wird die Datei tsconfig.json generiert.

Alexeis
quelle
concurrentlyund lite-serverhaben wenig bis gar nichts damit zu tun, den tscBefehl ausführen zu können . Bitte raten Sie nicht, unnötige Abhängigkeiten zu installieren.
Andras
-1

Ich habe dies auf meinem Computer gelöst, indem ich nur sudo npm installin dem Verzeichnis ausgeführt habe, in dem der Fehler aufgetreten ist.

mbspark
quelle
Sie sollten nicht gezwungen sein, sudoPakete zu installieren. Dann sollten Sie npm neu installieren. Weitere
Informationen