Jenkins Build-Schritt schlägt fehl, wenn "npm" unter mac-os-x Yosemite @ aufgerufen wi

Bevor ich anfange, möchte ich sagen, dass ich diese Antworten bereits überprüft habe:

Jenkins Build-Schritt schlägt bei 'npm install <whatever>' fehl

Jenkins Build schlägt bei der Installation von npm fehl

Nun, ich beschäftige mich schon eine Weile mit diesem Problem und habe deshalb ein paar Sachen ausprobiert.

Zunächst habe ich node + npm über Homebrew installiert. Eine einfache$ node -v und$ npm -v gab die Version v0.10.36 für node und v2.3. * für npm wieder, was auch bedeutet, dass ICH SIE IM PFAD HABE und sie funktionieren, während sie im Terminal angerufen werden.

Einfaches Hinzufügen vonnode -v; npm -v zumexecute shell in Jenkins hat es nicht getan. Nach einigem basteln habe ich was kopiert$: which node ergab im Terminal das oben erwähnte Skript, das jetzt so aussah:/usr/local/bin/node und anscheinend hat das geklappt. Der Jenkins-Build war erfolgreich und 'node-v0.10.36' wurde stolz im @ angezeiconsole output.

Wenn das Gleiche für 'npm' gemacht wird, was zufällig @ i/usr/local/bin/npm --version Die Computergötter waren nicht mehr so barmherzig. Ein großer 'env: node: Keine solche Datei oder kein solches Verzeichnis 'Fehler wurde dieses Mal ausgelöst und der gesamte Build ist fehlgeschlagen.

Der tatsächliche Befehl, der fehlschlägt, ist$ /bin/sh -xe /var/folders/wr/g_dl81tn5_x0t_yz3jw602cr0000gn/T/hudson8770480548136671253.sh und "überraschend", wenn ich den gleichen Befehl im Terminal ausführe, ist das erfolgreich.

Ich habe auch die Homebrew Node & Npm-Versionen deinstalliert und anschließend über den Paketmanager installiert. Gleiche Ergebnisse.

Letztendlich habe ich das auch gemacht:https: //gist.github.com/DanHerbert/952068, ohne Glück.

Anmerkungen

Ich lasse Jenkins 1.613 laufen und versuche es mit 1.5 ** Ich habe keinen "Jenkins" -spezifischen Benutzer erstellt, sondern verwende stattdessen den Administrator. Dies ist zufällig derselbe Benutzer, den Jenkins ausführt, da daswho am ier Befehl @ innerhalb des ausführbaren Skripts gibt den Benutzernamen des Administrators an. sudo'ing hilft nicht Ich führe das Ganze auch in einer virtuellen Umgebung aus - vagrant Ich führe Jenkins nicht als Deamon aus, da es mit xtools in Konflikt steht, sondern als einfacher ProzessIch habe auch das Jenkins-Node-Plugin mit verschiedenen Konfigurationen ausprobiert (kann bei Bedarf detailliert angeben)

Vielen Dank für Ihre Hilfe und lassen Sie mich wissen, wenn Sie weitere Informationen, Screenshots, Protokolle usw. benötigen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage