Erstellen einer .bat-Datei mit dem Befehl npm install


79

Ich habe die folgende Datei erstellt

//npminstall.bat

npm install
echo hello

Wenn ich den folgenden Befehl über die Windows 10-Befehlszeile (dos) ausführe npminstall.bat, wird der npm installBefehl ausgelöst, der Befehl wird jedoch echo hellonicht ausgelöst. Ich habe versucht, nach der ersten Zeile eine Halbfarbe wie diese npm install;einzufügen, aber alles, was ich getan habe, war, mir die Hilfeanweisungen von npm zu geben.

Wie bringe ich die zweite Linie echo hellonach dem npm install?

Zusätzliche Bemerkungen

Ich habe festgestellt, dass dies auch das gleiche Verhalten verursacht:

//npminstall.bat

webpack
echo hello

Ich denke, das liegt daran, dass sowohl der npm installBefehl als auch der webpackBefehl Zeit benötigen, um ausgeführt zu werden, und während dieser Zeit etwas tut, was ich in der zweiten Zeile nicht erwarte.

Follow-up 2

//npminstall.bat

START /WAIT npm install
echo hello

Dies scheint fast das zu tun, was ich tun möchte. Außer der Befehl npm install verursacht ein Popup-Fenster und ich muss das Popup-Fenster herunterfahren, bevor es die Ausführung fortsetzt, um Hallo Welt wiederzugeben. Kann ich das Popup-Fenster entfernen?

Antworten:


176

Wenn Sie von einer Batchdatei aus auf eine andere Batchdatei zugreifen, müssen Sie den Befehl CALL verwenden, um die Steuerung an den übergeordneten Prozess zurückzugeben. Andernfalls wird die Steuerung an die ausgeführte Batchdatei übergeben.

call npm install

1
Du bist ein Lebensretter! Ich versuche, auf Jenkins einen Winkel aufzubauen, und das Skript hat es nie über die npm-Installation hinaus geschafft, bis ich den 'Aufruf' hinzugefügt habe!
Ralph Ritoch

Dadurch kann das Skript ausgeführt werden, die Batchdatei erkennt jedoch keine Fehler mehr. Wenn also etwas einbricht, zum Beispiel npm build, wird die Batch-Datei einfach fortgesetzt. Irgendeine Lösung für dieses Problem?
Muffin

2
Mir ist aufgefallen, dass der Anruf bei npm auch das Echo ausschaltet. Ich musste dies umgehen, indem ich dem call npm installmit@echo on
Wyck
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.