npm install命令可以以root用户身份正常运行,但是如果以jenkins用户身份执行命令则抛出错误

时间:2018-07-19 08:08:54

标签: node.js linux jenkins npm

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

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

但是如果我以npm install的身份运行root会很好。

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

1 个答案:

答案 0 :(得分:1)

与$ PATH和全局/本地有关的问题,npm希望它存在,而不会,使用根$ 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 cache clean和 按Enter键入sudo npm install -g npm并按Enter。
  4. 重试npm 安装并点击Enter。