2017-05-31 1 views
0

Ich mag die folgenden Befehle in einer Offline-Maschine (A), aber die Sekunden Punkt nicht funktioniert zu kompilieren:Command „npm Lauf tsc“ nicht in einer Offline-Maschine arbeiten - versuchen node_modules Bibliotheken

  1. npm install
  2. npm run tsc

Wir haben eine Maschine (A), die meine Typoskript APP und eine andere Maschine (B), die als Artifactory wirkt enthält (alle npm Abhängigkeiten enthält).

Das Problem hier:

  • Ich kann die Maschine A zu B verbinden wegen Proxy-Einschränkungen. Tun Sie die folgenden „Schritte“ in Maschinen C (Maschinen A und C das gleiche fürs Betriebssystem)

Meine Idee war, meine Typoskript APP in einer anderen Maschine (C) zu installieren, die keine Proxy-Einschränkungen haben:

  1. "npm installieren" (die Abhängigkeiten)
  2. "npm Lauf tsc" (um zu überprüfen, every kompilieren)
  3. TAR den Ordner "node_modules"
  4. Kopieren Sie die TAR von Maschine C bis A
  5. Untar „node_module.tar“ als „node_module“ -Ordner

Das Problem hier ist „npm Lauf tsc“ in Maschine A gibt es eine Menge von „node_modules“ -Fehler und ich verstehe nicht, warum nach der Ausführung. Ich mit Ihnen drei Beispiel Hunderte von ihnen teilen:

node_modules/rxjs/Scheduler.d.ts(53,67): error TS1109: Expression expected. 
node_modules/rxjs/Scheduler.d.ts(53,83): error TS1109: Expression expected. 
node_modules/rxjs/Scheduler.d.ts(53,86): error TS1005: ';' expected. 

FYI - Ich konnte die Maschine A ändern Online nur vorübergehend zu sein und „npm installieren“ + „npm Lauf tsc“ richtig funktionierte. Dann denke ich, dass es in den vorherigen "Schritten" etwas Schlechtes gibt.

Info über meine Installationen:

bash-4.2# npm -v 
3.10.10 
bash-4.2# node -v 
v6.9.5 
bash-4.2# tsc -v 
Version 1.8.10 

Vielen Dank!

Antwort

0

Ich fand schließlich das Problem in "node_modules" Ordner.

Es stellt sich heraus, dass:

  • Wenn ich die TAR-Datei erstellt, wurden die komprimierten Dateien nicht auf andere Dateien mit den „Linux Links“ exportieren.
  • Dieses Problem ist in den Ordner "node_modules/.bin" eingetreten. Dieser Ordner enthält "Linux-Links" zu anderen Dateien, die zu "node_modules" Unterordnern gehören.
  • In meinem Fall ist es eine Verknüpfung mit dem Namen als „node_modules/.bin/tsc, die nicht mit Link in der TAR exportiert wurde.
  • Auf der anderen Seite, nach dem TAR dekomprimieren, die referenzierte Datei“ node_modules/Typoskript/bin/tsc "wurde ohne Ausführungsberechtigung kopiert (644).
  • Obwohl die Linux-Link festgelegt wurde, war die Ausführungserlaubnis deaktiviert, dann muss ich 755.

Dann, um die Berechtigungen zu ändern, die Schritte die folgenden (innen „node_modules“) Ordner fixieren waren:

  • rm .bin/tsc
  • ln -s ../typescript/bin/tsc tsc
  • chmod 744 Typoskript/bin/tsc

Prost, Paco.

Verwandte Themen