我正在尝试在我的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 ":无此文件或目录
而且,根据我的理解,它在本地环境中运行,而问题实际上是从容器的Angular 来看的。我也尝试过在我的Docker和Jenkinsfile上添加上面的命令,但是没有用。下面是我的公共repo:
Node app deploy on github
3条答案
按热度按时间rjjhvcjd1#
工作得非常好,原因是您的Docker用户不允许写入/(根目录),这不是因为/.npm中已经存在目录,而是因为您的脚本正在尝试在/中创建您的用户无法访问的目录,您可以将
或者只是告诉npm使用你的定制缓存目录
qgelzfjb2#
我遇到了同样的问题,并通过在Dockerfile中将npm缓存目录设置为ENV变量来修复它。
将此添加到Dockerfile:
p4tfgftt3#
从我的记忆来看,仅仅更新npm版本并删除整个项目就做到了这一点。