【问题标题】:npm install command works fine as root user but throws error if command is executed as jenkins usernpm install 命令以 root 用户身份运行良好,但如果以 jenkins 用户身份执行命令,则会引发错误
【发布时间】:2018-12-27 06:55:50
【问题描述】:

我试图在我的 Linux centos 机器上以 jenkins 的身份运行 npm install,但它失败了:

npm WARN tar ENOENT: no such file or directory, lstat '/home/jenkins/workspace/'job name'/Scheduler/scheduler-component/node_modules/ "

但如果我将npm install 运行为root,则效果很好。

为什么会发生这种情况,我该如何解决?

【问题讨论】:

    标签: node.js linux jenkins npm


    【解决方案1】:

    与 $PATH 和全局/本地有关的问题,npm 期望它存在而不是它,使用 root $PATH 以 root 身份运行,因此文件存在,npm

    This Tutorial explains it

    这意味着在执行 fs.lstat('/home/ubuntu/.npm/iconv-lite/0.2.11/package/encodings/table/gbk.js', ...) 之类的操作时,npm 收到了 ENOENT错误。这意味着文件丢失了,但 npm 预计它会在那里。

    如果不尝试:

    1. 确保在 package.json 上正确描述依赖关系 只需键入 npm install 并按 Enter。
    2. 检查问题仍然存在。如果问题 未解决,继续这些方法。
    3. 键入 npm 缓存清理和 按 Enter 键入 sudo npm install -g npm 并按 Enter。
    4. 重试 npm 安装并按 Enter。

    【讨论】:

    猜你喜欢
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    相关资源
    最近更新 更多