Ошибка установки генератора-jhipster с npm на Ubuntu 16

Я пытаюсь установить jhipster для запуска репозитория, который я уже клонировал в /home/thomas/Documents/softeng/project/CS673-Project. Я не могу разобрать, чего не хватает. я выполнил команду sudo npm install -g генератор-jhipster. Ниже я включил полный соответствующий раздел журнала.

11518 silly install [email protected]
11519 info lifecycle [email protected]~install: [email protected]
11520 verbose lifecycle [email protected]~install: unsafe-perm in lifecycle false
11521 verbose lifecycle [email protected]~install: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/usr/local/lib/node_modules/generator-jhipster/node_modules/.bin:/usr/local/lib/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
11522 verbose lifecycle [email protected]~install: CWD: /usr/local/lib/node_modules/generator-jhipster
11523 silly lifecycle [email protected]~install: Args: [ '-c', 'tabtab install --name jhipster --auto' ]
11524 silly lifecycle [email protected]~install: Returned: code: 1  signal: null
11525 info lifecycle [email protected]~install: Failed to exec install script
11526 verbose unlock done using /home/thomas/.npm/_locks/staging-3a08f0df5026584d.lock for /usr/local/lib/node_modules/.staging
11527 verbose stack Error: [email protected] install: `tabtab install --name jhipster --auto`
11527 verbose stack Exit status 1
11527 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:283:16)
11527 verbose stack     at emitTwo (events.js:87:13)
11527 verbose stack     at EventEmitter.emit (events.js:172:7)
11527 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
11527 verbose stack     at emitTwo (events.js:87:13)
11527 verbose stack     at ChildProcess.emit (events.js:172:7)
11527 verbose stack     at maybeClose (internal/child_process.js:821:16)
11527 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
11528 verbose pkgid [email protected]
11529 verbose cwd /home/thomas/Documents/softeng/project/CS673-Project
11530 verbose Linux 4.4.0-53-generic
11531 verbose argv "/usr/bin/nodejs" "/usr/local/bin/npm" "install" "-g" "generator-jhipster"
11532 verbose node v4.2.6
11533 verbose npm  v5.0.3
11534 error code ELIFECYCLE
11535 error errno 1
11536 error [email protected] install: `tabtab install --name jhipster --auto`
11536 error Exit status 1
11537 error Failed at the [email protected] install script.
11537 error This is probably not a problem with npm. There is likely additional logging output above.
11538 verbose exit [ 1, true ]

Большое спасибо


person Thomas Greenstein    schedule 06.06.2017    source источник


Ответы (2)


У меня была такая же ошибка с некоторыми более новыми версиями, работающими в Ubuntu 16.10:

11518 info lifecycle [email protected]~install: Failed to exec 
install script
11519 verbose unlock done using 
/home/reginaldosantos/.npm/_locks/staging-3a08f0df5026584d.lock for 
/usr/local/lib/node_modules/.staging
11520 verbose stack Error: [email protected] install: `tabtab install --name jhipster --auto`
11520 verbose stack Exit status 1
11520 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:283:16)
11520 verbose stack     at emitTwo (events.js:106:13)
11520 verbose stack     at EventEmitter.emit (events.js:191:7)
11520 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
11520 verbose stack     at emitTwo (events.js:106:13)
11520 verbose stack     at ChildProcess.emit (events.js:191:7)
11520 verbose stack     at maybeClose (internal/child_process.js:891:16)
11520 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
11521 verbose pkgid [email protected]
11522 verbose cwd /home/reginaldosantos
11523 verbose Linux 4.4.0-78-generic
11524 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "generator-jhipster"
11525 verbose node v6.11.0
11526 verbose npm  v5.0.3
11527 error code ELIFECYCLE
11528 error errno 1
11529 error [email protected] install: `tabtab install --name jhipster --auto`
11529 error Exit status 1
11530 error Failed at the [email protected] install script.
11530 error This is probably not a problem with npm. There is likely additional logging output above.
11531 verbose exit [ 1, true ]

И на удивление выходное сообщение помогло мне больше, чем подробный лог:

/usr/local/bin/jhipster -> /usr/local/lib/node_modules/generator-jhipster/cli/jhipster.js

> [email protected] install /usr/local/lib/node_modules/generator-jhipster
> tabtab install --name jhipster --auto

  tabtab:installer Installing completion script to bashrc directory +0ms

Error: You don't have permission to write to /home/reginaldosantos/.bashrc.
Try running with sudo instead:

  sudo /usr/local/bin/node /usr/local/lib/node_modules/generator-jhipster/node_modules/.bin/tabtab install --name jhipster --auto

oh oh Error: EACCES: permission denied, open '/home/reginaldosantos/.bashrc'
    at Error (native)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `tabtab install --name jhipster --auto`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Это определенно какая-то проблема с разрешениями npm в нашей установке. Я решил это, изменив конфигурацию npm на глобальное местоположение:

$ mkdir ~/.npm-global

$ sudo npm config set prefix '~/.npm-global'

$ echo "export PATH=~/.npm-global/bin:\$PATH" >> ~/.profile

$ source ~/.profile

Затем просто установите jhipster без sudo:

npm install -g generator-jhipster

Ниже приведена дополнительная информация об исправлении разрешений npm

«Несмотря на то, что это исправление работает, необходимость в этом немного раздражает».

Надеюсь, поможет!

person Reginaldo Santos    schedule 20.06.2017
comment
Но почему вы не против установить глобальные зависимости с помощью sudo? - person vsenko; 20.06.2017
comment
Эй, @vsenko, не то чтобы меня это особо волнует. Возможно, я не очень ясно выразился в своем комментарии, но я следовал рецепту установки jhipster и подумал, что установка будет такой же простой, как и там, когда я не очень хорошо знаю npm или nodejs. - person Reginaldo Santos; 20.06.2017
comment
Спасибо за ссылку, Реджинальдо! sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} Эта команда помогла! - person lmoglia; 15.07.2017

Я вижу в вашем журнале узел 4.2.6. Это слишком старо. Попробуйте версию 6.10.3 LTS

person Pascal Grimaud    schedule 06.06.2017
comment
Обновлено, никаких изменений, кроме одной строчки. - person Thomas Greenstein; 07.06.2017