【问题标题】:Error installing generator-jhipster with npm on ubuntu 16在 ubuntu 16 上使用 npm 安装 generator-jhipster 时出错
【发布时间】:2017-06-06 17:30:31
【问题描述】:

我正在尝试安装 jhipster 来运行我已经在 /home/thomas/Documents/softeng/project/CS673-Project 中克隆的存储库。我无法解析缺少的内容。我运行的命令是 sudo npm install -g generator-jhipster。 下面我已经包含了日志的完整相关部分。

11518 silly install generator-jhipster@4.5.2
11519 info lifecycle generator-jhipster@4.5.2~install: generator-jhipster@4.5.2
11520 verbose lifecycle generator-jhipster@4.5.2~install: unsafe-perm in lifecycle false
11521 verbose lifecycle generator-jhipster@4.5.2~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 generator-jhipster@4.5.2~install: CWD: /usr/local/lib/node_modules/generator-jhipster
11523 silly lifecycle generator-jhipster@4.5.2~install: Args: [ '-c', 'tabtab install --name jhipster --auto' ]
11524 silly lifecycle generator-jhipster@4.5.2~install: Returned: code: 1  signal: null
11525 info lifecycle generator-jhipster@4.5.2~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: generator-jhipster@4.5.2 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 generator-jhipster@4.5.2
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 generator-jhipster@4.5.2 install: `tabtab install --name jhipster --auto`
11536 error Exit status 1
11537 error Failed at the generator-jhipster@4.5.2 install script.
11537 error This is probably not a problem with npm. There is likely additional logging output above.
11538 verbose exit [ 1, true ]

非常感谢

【问题讨论】:

    标签: node.js ubuntu jhipster npm-install


    【解决方案1】:

    在 ubuntu 16.10 中运行一些较新的版本时,我遇到了同样的错误:

    11518 info lifecycle generator-jhipster@4.5.5~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: generator-jhipster@4.5.5 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 generator-jhipster@4.5.5
    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 generator-jhipster@4.5.5 install: `tabtab install --name jhipster --auto`
    11529 error Exit status 1
    11530 error Failed at the generator-jhipster@4.5.5 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
    
    > generator-jhipster@4.5.5 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! generator-jhipster@4.5.5 install: `tabtab install --name jhipster --auto`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the generator-jhipster@4.5.5 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
    

    这里有更多关于fixing npm permissions的信息

    “即使这个修复有效,但需要弄清楚这一点有点烦人。”

    希望对你有帮助!

    【讨论】:

    • 但是你为什么介意用sudo安装全局依赖呢?
    • 嘿@vsenko,并不是说我真的很关心这个。也许我的评论不是很清楚,但我关注jhipster's installation recipe,我认为一旦我不太了解 npm 或 nodejs,安装就会像那里一样简单。
    • 感谢雷金纳尔多的链接! sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} 这个命令成功了!
    【解决方案2】:

    我可以在您的日志中看到节点 4.2.6。它太旧了。试用 6.10.3 LTS 版本

    【讨论】:

    • 更新了,除了一行没有变化。
    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 2014-11-02
    • 2017-07-13
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多