2016-06-28 2 views
1

Ich versuche, JHipster mit der DevBox bei der Arbeit zu verwenden, also mit einem Proxy. Ich denke, ich habe alles entsprechend konfiguriert, aber ich kann JHipster immer noch nicht richtig verwenden.npm erstellt keinen Symlink für den webdriver-manager während der Verwendung von JHipster DevBox

Ich möchte ein Micro Gateway mit Protractor erzeugen, aber wenn ich yo jhipster oder npm install verwenden, es gibt mir die folgende Fehlermeldung:

> [email protected] postinstall /home/vagrant/workspace/example/example-gateway 
> webdriver-manager update 

sh: 1: webdriver-manager: not found 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents: 
npm WARN notsup Not compatible with your operating system or architecture: [email protected] 
npm ERR! Linux 3.13.0-88-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" 
npm ERR! node v4.4.5 
npm ERR! npm v3.9.6 
npm ERR! file sh 
npm ERR! code ELIFECYCLE 
npm ERR! errno ENOENT 
npm ERR! syscall spawn 
npm ERR! [email protected] postinstall: `webdriver-manager update` 
npm ERR! spawn ENOENT 
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'webdriver-manager update'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the example-gateway package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  webdriver-manager update 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs example-gateway 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls example-gateway 
npm ERR! There is likely additional logging output above. 

Und mit sudo:

npm WARN lifecycle [email protected]~postinstall: cannot run in wd %s %s (wd=%s) [email protected] webdriver-manager update /home/vagrant/workspace/example/example-gateway 

Aber ich gefunden webdriver-manager im Verzeichnis node_modules/protractor/bin, aber npm scheint nicht in der Lage zu sein, es zu verwenden.

Eigentlich ist es mir schon einmal gelungen, ein Microservice Gateway mit Winkelmesser zu erzeugen, aber ich weiß nicht wie: Der Fehler über webdriver-manager ist gerade eines Tages verschwunden. In der Tat gab es mehrere andere Fehler (Pakete, die nicht installiert werden wollten), und npm install immer und immer wieder ausgeführt, während manchmal manuell einige Pakete installieren, schien sie zu beheben. Ich versuche jedoch, JHipster auf einem anderen Computer zu verwenden, also muss ich wissen, wie man den webdriver-manager Fehler repariert.

habe ich einen Blick in den node_modules Ordner des fertigen Gateway-Projekt, und entdeckte eine webdriver-manager Symlink innerhalb .bin, die nicht im selben Verzeichnis des unvollständigen Gateway-Projekt war, so dass ich angeblich npm es statt der verwendeten das Verzeichnis node_modules/protractor/bin. Ich habe eine Verknüpfung der beiden im node_modules/.bin Verzeichnis des unvollständigen Gateway-Projekts mit ln -s ../protractor/bin/webdriver-manager webdriver-manager erstellt, und es hat anscheinend funktioniert.

Das Problem ist, dass ich versuche, die Installation und die Konfiguration der JHipster DevBox irgendwie automatisiert zu machen, so dass Leute bei der Arbeit, die es verwenden wollen, es nicht manuell tun müssen. Wenn sie daran denken müssen, jedes Mal einen Symlink zu erstellen, wenn sie auf diesen Fehler stoßen, ist das nicht sehr praktisch.

Wissen Sie, warum npm diesen Symlink nicht selbst erstellt (oder manchmal einige Pakete nicht installiert), und wie man es auf eine "saubere" Weise repariert?

+0

Könnte es mit freigegebenen Ordnern der virtuellen Box zusammenhängen? https://github.com/npm/npm/issues/992 –

+0

Ich glaube nicht (oder ich dachte, ich habe es behoben): Sie können freigegebene Ordner mit 'VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1' aktivieren und überprüfen Es funktionierte mit 'VBoxManage texturedata YOURVMNAME enumerate' (http://www.ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/), und in meinem Fall funktionierte es. Außerdem bin ich in der Administratorgruppe und ich betreibe VB als Administrator. – CidTori

Antwort

0

Ok, ich habe eine Lösung gefunden, aber ich weiß immer noch nicht genau, warum es das tut und ob es ein sauberer Weg ist, es zu beheben.

http://perrymitchell.net/article/npm-symlinks-through-vagrant-windows/

Ich ersetzte das node_modules Verzeichnis durch einen Symlink im Gast Maschine irgendwo, also nicht in den freigegebenen Ordner unter Windows. Auf diese Weise überspringe ich alle Probleme, die von Windows verursacht werden. Der Nachteil ist, dass ich den Link erstellen muss, bevor ich ein Projekt erzeuge und diesen Link repariere und alle Abhängigkeiten jedes Mal neu herunterlade, wenn ich die DevBox aktualisiere, weil ich die DevBox zerstören muss, um sie zu aktualisieren.

Verwandte Themen