为什么“ npm run build”会产生错误“ react-scripts权限被拒绝”?

时间:2020-05-30 02:21:34

标签: node.js reactjs npm

我在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下构建良好。 有建议吗?

3 个答案:

答案 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用户身份登录,也不足以。我不明白为什么不这样做,但是肯定有一些项目的权限未更改。