2016-10-11 5 views
1

Wir verwenden Visual Studio Team Services zum Erstellen und Bereitstellen mehrerer Sites. Einige .NET und einige nicht. Alles funktioniert gut, wenn der gehostete Agent verwendet wird. Aufgrund von Leistungsproblemen und langen Wartezeiten für den gehosteten Agenten müssen wir unseren eigenen Build-Agent verwenden. Hier kommt das Problem: Wenn die VSTS läuft baut wir einen Fehler, wenn Bower ausgeführt wird:VSTS Bower nicht gefunden

****************************************************************************** 
Starting: bower install 
****************************************************************************** 
C:\Program Files (x86)\nodejs\npm.cmd install -g bower 
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm\bower -> C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm\node_modules\bower\bin\bower 
[email protected] C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm\node_modules\bower 
Not found bower: null 
****************************************************************************** 
Finishing: bower install 
****************************************************************************** 

Das Problem ist, dass Bower an dieser Stelle tatsächlich:

npm directory

Und hier sind der tatsächliche bower Build-Schritt:

vsts bower build step

Wie können wir diesen Not found bower: null Fehler beheben?

Antwort

2

Es gibt bekannte Probleme mit Tools, die in Profilordnern installiert sind, die mit Berechtigungen zu tun haben. Es ist einfacher, das Tool über eine Administrationskonsole mit dem Parameter -g zu installieren. Stellen Sie sicher, dass die zentrale NPM-Version der Umgebungsvariablen %path% des Service oder Systems hinzugefügt wird.

Oder übergeben Sie eine bestimmte Position, indem Sie dem Aufruf von npm weitere Parameter hinzufügen: npm install --prefix "$(Agent.WorkFolder)" Bower Geben Sie dann denselben Ort im Abschnitt Advanced der Bower-Task an.

Bower CLI Ort: $(Agent.WorkFolder)\node_modules\

(Sie bräuchten die genaue Lage des Paket zu überprüfen ist installiert, ich bin im Moment etwas zu erraten;)).

+0

Danke für die Antwort! Ich habe versucht, von einer administrativen Eingabeaufforderung mit dem Argument -g zu installieren, aber es wird weiterhin in den AppData-Ordner des aktuellen Benutzers installiert: C: \ Programme \ nodejs> npm install -g bower C: \ Benutzer \ * Benutzername * \ AppData \ Roaming \ npm \ bower -> C: \ Benutzer \ * Benutzername * \ AppData \ Roaming \ n pm \ node_modules \ bower \ bin \ bower [email protected] C: \ Benutzer \ * Benutzername * \ AppData \ Roaming \ npm \ node_modules \ bower –

+0

Es erstaunt mich immer wieder, wie der Knoten beschließt, Sachen irgendwo hinzustellen. Sind Sie sicher, dass Sie als lokaler Administrator ausgeführt wurden? – jessehouwing

+0

Ja, 100% sicher. Ich habe es dreifach überprüft. Gute Nachrichten, ich habe es funktioniert, indem ich spezifischer auf die lokale bower lib: '$ (Build.SourcesDirectory) \ node_modules \ bower \ bin \ bower' in Bower CLI-Speicherort. Jetzt ist es der Schluckschritt, der scheitert. Gulp wird gefunden, aber selbst die Schluckabhängigkeiten werden in gulp installiert. \ Node_modules node.js sagt, dass es eines der Module nicht finden kann. –

Verwandte Themen