Node.js 詹金斯构建问题-npm错误!您的缓存文件夹包含根拥有的文件

Node.js 詹金斯构建问题-npm错误!您的缓存文件夹包含根拥有的文件,node.js,jenkins,Node.js,Jenkins,我正试图在Jenkins管道上构建一个小型节点应用程序,该管道在虚拟机中运行。跨越此错误: + npm install npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /.npm npm ERR! errno EACCES npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous ve

我正试图在Jenkins管道上构建一个小型节点应用程序,该管道在虚拟机中运行。跨越此错误:

    + npm install
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /.npm
npm ERR! errno EACCES
npm ERR! 
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR! 
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 111:120 "/.npm"
运行sudo chown-R 111:120“/.npm”没有帮助,因为它说:

chown:无法访问“/.npm”:没有这样的文件或目录

而且,根据我的理解,当问题实际上是从容器的角度来看时,它在本地上下文中运行。我试图在Docker和Jenkins文件中添加上面的命令,但没有成功。以下是我的公开回购协议:

工作正常,原因是docker用户不允许在/(根目录)中写入 不是说在/.npm上已经存在一个目录,而是说,您的脚本试图在/上创建一个用户无法访问的目录 你可以把

agent {
    docker {
      image 'node:latest'
      args '-u root:root'
    }
}

或者告诉npm使用您的自定义缓存目录

尝试清理缓存一次
sudo npm cache clean--force
调用Shell后是否应将其添加到Jenkins文件中@在shell中运行voke,然后尝试运行executejenkinsfile@SouravAtta它说:npm WARN npm npm npm不支持Node.js v10.24.0 npm WARN npm你可能应该升级到Node的新版本,因为我们npm WARN npm不能保证npm会使用这个版本。npm WARN npm支持的Node.js版本是4、6、7、8、9的最新版本。npm WARN npm您可以使用--force在npm WARN找到最新版本。我当然希望您知道您在做什么。同一个命令为我解决了相同的问题。所以,我想和你分享答案。但看起来好像还有别的问题。如果它解决了你的问题,请将此标记为答案,这样其他人也可以从中受益
agent {
    docker {
      image 'node:latest'
      args '-u root:root'
    }
}