ng nicht anerkannt wird als Befehl interne oder externe. Jenkins + Winkel-CLI
Ich bin versucht, setup-Jenkins für eine Eckige CLI-Projekt. Ich habe installiert, Knoten-und Winkel-Cli auf dem Jenkins-server unter einem bestimmten Benutzer-account.
wenn ich öffnen Sie eine Eingabeaufforderung auf dem server ein führen Sie die folgenden Befehle, um zu überprüfen, ob Sie korrekt installiert sind, dies ist das Ergebnis:
Habe ich so konfiguriert das Projekt mit Jenkins, und ich habe zwei bauen zwei Schritte ausführen, zwei bat-Dateien.
Läuft: npm install
und der zweite läuft: ng build --prod
Dann Baue ich Jenkins, es läuft die npm installieren, aber es scheitert ausgeführt ng bauen-prod, weil es sagt " 'ng' nicht anerkannt wird als Befehl interne oder externe".
Mache ich etwas falsch? Gibt es einen anderen Weg, um wahrscheinlich verwenden Sie die Winkel-cli auf den node_modules-Ordner, So dass Sie nicht brauchen, um verwenden Sie die Winkel-cli auf dem server installiert. Wie es scheint, Winkel-CLI installiert ist nur für meinen Benutzer auf dem server, aber nicht für den user Jenkins erstellen.
PS: ich installierte Winkel-CLI Global über:
npm i-g @eckig/cli
Du musst angemeldet sein, um einen Kommentar abzugeben.
Keine Notwendigkeit zu installieren, Winkel-cli auf dem server, nur laufen
Ausgeführt wird, die lokale version von Ihrem Projekt
devDependencies
Diese Weise können Sie die fahne auf Ihre lokale cli
npm run ng -- test
,npm run ng -- lint
uswMehr details bei https://docs.npmjs.com/cli/run-script
Nur für eine weitere Klärung, wenn jemand nach dem gleichen problem und findet diese Frage (so wie ich):
Wenn Sie möchten, verwenden Sie den --prod-flag beim ausführen der build-Befehl, wie gebeten, in dieser Frage, die Sie verwenden können:
Wichtig sind die "--" zwischen "ng" und "bauen" mit Abstand. Dies ist aufgrund der syntax von "npm laufen", weitere Informationen können hier gefunden werden: https://docs.npmjs.com/cli/run-script
Das löst auch das problem beschrieben, in einem Kommentar unterhalb der akzeptierten Antwort: "Das ist eine Arbeit, aber seine ohne die zusätzliche Parameter wie --test beim ausführen des build"
Ob es funktioniert auf dem Lokalen Eingabeaufforderung, Starten Sie den Jenkin-server.
Jenkins neu starten --> http://host-name:port/base-url/restart
Wenn es nicht funktioniert auf dem lokalen Befehl auch installieren, Winkel-CLI Global und setzen Sie die environment-Einstellungen und machen Sie den vorherigen Schritt.
versuchen, wie unten beschrieben.
BUILD_ID=dontKillMe nohup ng dienen
Das einzige Problem mit
npm run ng build
ist es unterlässt andere parameter wie--prod
oder--test
nach zu bauen.Folgenden werden die Befehle, was ich mit meinen eckigen erfolgreich erstellen von Jenkins.Der Letzte Befehl ausgeführt, den schmutzigen Weg durch die Einrichtung der path-Variablen. Weiß nicht, ob es eine bessere Möglichkeit, dies zu tun. Dies hat die Befehle auszuführen richtig, ohne etwas auszulassen.