2016-06-28 5 views
1

Я пытаюсь использовать JHipster с DevBox на работе, поэтому с прокси. Я думаю, что у меня все настроено соответствующим образом, но я все еще не могу правильно использовать JHipster.npm не создаст символическую ссылку для webdriver-manager при использовании JHipster DevBox

Я хочу, чтобы создать шлюз microservice с транспортир, но когда я использую yo jhipster или npm install, он дает мне следующую ошибку:

> [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. 

И с 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 

Однако я найдено webdriver-manager в каталоге node_modules/protractor/bin, но npm, похоже, не в состоянии его использовать.

На самом деле, я уже успел создать шлюз микросервиса с помощью Транспортатора, но я не знаю, как: ошибка около webdriver-manager просто исчезла однажды. В самом деле, было еще несколько ошибок (пакеты, которые не хотели быть установленными) и запускать npm install снова и снова, иногда при установке вручную некоторые пакеты, по-видимому, исправляли их. Однако я пытаюсь использовать JHipster на другом компьютере, поэтому мне нужно знать, как исправить ошибку webdriver-manager.

Я посмотрел в node_modules папку завершенного проекта шлюза, и обнаружил webdriver-manager симлинк внутри .bin, который не был в той же директории неполного проекта шлюза, так что я должен npm использовал его вместо одного в node_modules/protractor/bin. Я создал ссылку на два в каталоге node_modules/.bin проекта незавершенного шлюза с ln -s ../protractor/bin/webdriver-manager webdriver-manager, и он, по-видимому, работал.

Проблема в том, что я пытаюсь сделать установку и настройку JHipster DevBox как-то автоматизированной, поэтому людям, которые хотят использовать ее, не нужно делать это вручную. Если им приходится помнить о создании символической ссылки каждый раз, когда они сталкиваются с этой ошибкой, это будет не очень практично.

Знаете ли вы, почему npm не создаст эту символическую ссылку (или когда-нибудь не сможет установить некоторые пакеты) и как ее исправить «чистым» способом?

+0

Может ли это быть связано с общими папками виртуальных ящиков? https://github.com/npm/npm/issues/992 –

+0

Я так не думаю (или я решил, что я его исправил): вы можете включить общие папки с помощью 'VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1' и проверить он работал с 'VBoxManage getextradata YOURVMNAME enumerate' (http://www.ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/), и в моем случае это сработало. Более того, я в группе администраторов, и я запускаю VB в качестве администратора. – CidTori

ответ

0

Хорошо, я нашел решение, но я до сих пор не знаю, почему он это делает, и если это более чистый способ его исправить.

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

Я просто заменил каталог node_modules на линк, чтобы где-то внутри гостевой машины, так что не в общей папке с Windows. Таким образом, я пропускаю все проблемы, вызванные Windows. Недостатком является то, что я должен создать ссылку перед созданием любого проекта, а также исправить эту ссылку и снова загрузить все зависимости при каждом обновлении DevBox, потому что мне нужно уничтожить DevBox, чтобы обновить его.

 Смежные вопросы

  • Нет связанных вопросов^_^