我在Ubuntu 18.04上,以root用户身份登录。 /root/.npm的group:owner递归为root:root,所有权限递归为777。如果我进入React文件夹:
cd /var/lib/jenkins/workspace/MedAverter/medaverter-front
并将该文件夹的所有权限递归设置为777,然后运行
npm run build
我收到错误消息:
[[1; 34mINFO [m]在其中运行'npm run build' / var / lib / jenkins / workspace / MedAverter / medaverter-front [[1; 34mINFO [m] [[1; 34mINFO [m]> medaverter-front@0.1.0构建 / var / lib / jenkins / workspace / MedAverter / medaverter-front [[1; 34mINFO [m]> react-scripts build [[1; 34mINFO [m] [[1; 31mERROR [m] sh:1:反应脚本:权限被拒绝 [[1; 31mERROR [m] npm ERR!代码ELIFECYCLE [[1; 31mERROR [m] npm ERR! errno 126 [[1; 31mERROR [m] npm ERR! medaverter-front@0.1.0构建:
react-scripts build
[[1; 31mERROR [m] npm ERR!退出状态126 [[1; 31mERROR [m] npm ERR! [[1; 31mERROR [m] npm ERR!失败于 medaverter-front@0.1.0构建脚本。
我一直在寻找解决方案好几个小时,没有运气。它在Windows 10下构建良好。 有建议吗?
答案 0 :(得分:0)
您可能需要运行
$ npm config set user root
从节点docker文件构建后,我就遇到了这个问题
答案 1 :(得分:0)
由于我无法发表评论。
我个人遵循此answer,并选择了解决方案2。
在阅读了有关此内容的更多信息后,您不应该授予npm sudo / root权限。您对脚本过于信任。而是按照该指南更新您的npm,您将不再遇到该问题。
是为了我的树莓派。
答案 2 :(得分:0)
我终于解决了这个问题。解决方案如下所示: "npm run build" = "react-scripts: Permission denied"
主要问题是用户jenkins试图运行root用户拥有的东西。所以你需要做一个
sudo chown -R jenkins medaverter-front
您还需要像在
中那样将sudo放在chmod前面sudo chomod -R 777 medaverter-front
即使我以root用户身份登录,也不足以。我不明白为什么不这样做,但是肯定有一些项目的权限未更改。