Der laufende node.js-Code zeigt nur eine Knoten-ID an

8

Ich habe den folgenden Code in einer Datei namens server.js.

%Vor%

Ich benutze die Eingabeaufforderung und navigiere zu dem Ordner, in dem die Datei abgerufen wird, und führe dann den Befehl

aus %Vor%

Aber ich bekomme nicht die erwartete Ausgabe. Stattdessen bekomme ich

%Vor%

Hinweis: Ich habe bereits Knoten in meinem Rechner installiert und es funktionierte gut.

    
Muthukumar 14.02.2013, 19:20
quelle

8 Antworten

14

Bekam das, als ich versuchte, cordova-Befehle auszuführen. Schritte zum Lösen:

Windows

  1. Geben Sie in der CMD-Eingabeaufforderung "where node" ein. Wie Michael erwähnt hat, zeigt dies Sie wahrscheinlich der Täter, dass Sie 2 Nodejs EXEs installiert haben Ihre Maschine.
  2. Navigieren Sie zu Start & gt; Computer & gt; Klicken Sie mit der rechten Maustaste auf Eigenschaften & gt; Erweiterte Systemeinstellungen
  3. Wählen Sie auf der Registerkarte Erweitert die Option Umgebungsvariablen
  4. Wählen Sie unter Systemvariablen die Variable "Pfad"
  5. Finde nodejs EXE, normalerweise "C: \ Programme (x86) \ nodejs \"
  6. Ausschneiden und an den Anfang der Variablen "Path" einfügen. Dafür sorgen Die Pfade sind durch ein ";"
  7. getrennt
  8. Öffnen Sie eine neue CMD-Eingabeaufforderung und versuchen Sie es erneut mit cordova
djrpascu 19.09.2014, 01:35
quelle
9

Dies geschieht, wenn Harvest SCM auf Ihrem System installiert ist. Es hat eine ausführbare Datei mit dem Namen node.exe at <Program Files (x86)>\CA\SharedComponents\PEC\bin (wobei <Program Files (x86)> Ihr x86-Programmdateiordner ist). Dieser Pfad ist in Ihrer PATH -Variable vor der Pfad zu Node.js node.exe vorhanden.

Sie können zwei Dinge tun, die Sie tun können, um dieses Problem zu lösen:

  1. Entfernen Sie <Program Files (x86)>\CA\SharedComponents\PEC\bin von PATH Umgebungsvariable.
  2. Hinzufügen / Verschieben von <Program Files (x86)>\nodejs an den Anfang der Umgebungsvariablen PATH (Dies ist die derzeit akzeptierte Antwort von djrpascu ).

Du kannst es besser machen!

Es gibt zwei Probleme mit den obigen Ansätzen:

  1. Sie unterbrechen die Funktionen von Harvest SCM.
  2. Wenn Sie keine erweiterten Berechtigungen zum Ändern von PATH haben, haben Sie keine Optionen mehr. (Danke @Glats )

Also habe ich diese kleine Batch-Datei erstellt und in ein Verzeichnis gestellt, in dem ich mehrere andere persönliche Skripte habe (dieses Verzeichnis befindet sich in meinem PATH ). Hier ist der Kern des Skripts .

nodecmd.bat

%Vor%

Wenn Sie das nächste Mal Node.js anstelle von Eingabeaufforderung ausführen möchten, öffnen Sie das neue Skript mit "Ausführen .. . "Befehl .

  

Windows + R

     

nodecmd

Eine Eingabeaufforderung wird angezeigt. Sie können diese Eingabeaufforderung verwenden, um node ohne Probleme auszuführen.

Erklärung

Dieses Bit löscht den Pfad der Harvest-Datei von PATH variable:

%Vor%

Und das fügt den Pfad von Node.js hinzu:

%Vor%

Das Ergebnis ist eine Zeichenfolge, die die ursprüngliche PATH-Variable minus Harvest-Pfad, plus Knotenpfad enthält. Und es wird als PATH-Variable im Bereich der aktuellen Batch-Datei festgelegt.

  

Hinweis: Möglicherweise müssen Sie den Pfad im Skript ändern, damit er den Softwareinstallationsordnern in Ihrem System entspricht.

Nächste Zeile, start %ComSpec% startet eine Eingabeaufforderung. Zu diesem Zeitpunkt ist die PATH-Variable geändert. Mit geänderten Umgebungsvariablen können Sie Knoten innerhalb dieser neuen Eingabeaufforderung ausführen. Die Änderung der Umgebungsvariablen wirkt sich nicht auf den Rest des Systems aus und stellt sicher, dass die Harvest SCM-Software ohne Unterbrechung ausgeführt wird.

    
Krumia 22.06.2015 12:12
quelle
2

Das ist alt, aber ich stieß auf dasselbe Problem. Genau dieselbe Nachricht (natürlich mit meinem Rechnernamen). Das Problem war, dass es auf dem Pfad eine weitere ausführbare Datei in C:\Program Files (x86)\CA\SharedComponents\PEC\bin gab. Ich bin auf einem Windows-Rechner, also lief where node die zwei in Konflikt stehenden "node" -Dateien im Pfad.

Um das Problem zu beheben, habe ich gerade das CA-Verzeichnis aus der Umgebungsvariable PATH entfernt.

    
Michael R 27.06.2014 16:19
quelle
0

Ich denke, Sie führen den falschen Knotenbefehl aus. Versuchen Sie, Ihre nodejs-Installation ausfindig zu machen oder erneut herunterzuladen, und fügen Sie sie Ihrem Pfad als erstes Verzeichnis hinzu. Wenn Sie Linux oder Unix ausführen, können Sie versuchen, 'which node' zu sehen, was gerade ausgeführt wird. Beachten Sie, dass die ausführbare Datei node.js in einigen Fällen den Namen nodejs trägt, damit Sie es versuchen können nodejs server.js ebenfalls

    
drorw 14.02.2013 19:34
quelle
0

Ich habe die node.js-Eingabeaufforderung anstelle der Windows-Standardeingabeaufforderung verwendet und sie hat für mich funktioniert. Wusste nicht, warum es in der Windows-Standardeingabeaufforderung nicht funktionierte.

    
Muthukumar 14.02.2013 21:12
quelle
0

Brich deinen Ernte-SCM nicht, indem du ihn aus dem Pfad entfernst. Versuchen Sie diese, öffnen Sie Ihre Windows-Befehlszeile (cmd) und übergeben Sie dann die folgende nodejs Batch-Datei, so dass es Ihre Befehlszeile zu Nodejs-Umgebung festlegen wird. Viel Spaß mit den Knotenbefehlen.

C: & gt; "C: \ Programme \ nodejs \ nodevars.bat"

    
Hari Inukollu 08.06.2017 15:18
quelle
0

Ich hatte das gleiche Problem und änderte einfach den Namen von node.exe Datei von Harvest. Das hat nichts von Harvest gebrochen und ich kann weiter damit arbeiten.

Ändern Sie den Befehlsnamen des Harvest in node_.exe :

%Vor%     
Poulad 05.10.2017 16:29
quelle
-1

Ich lief auch mit dem gleichen Problem - beim Definieren des Pfades für Windows Verwendung unter Parameter

Windows:

%Vor%

ODER

Setze die Umgebungsvariable für nodejs

%Vor%

(fügen Sie an, dass der Pfad die Zeichenfolge "c: \ nodejs" enthält)

    
Dharmendra Pawar 22.04.2015 14:26
quelle

Tags und Links