代码之家  ›  专栏  ›  技术社区  ›  xyious

创建React应用失败,权限被拒绝

  •  1
  • xyious  · 技术社区  · 7 年前

    我有个奇怪的错误:

    Unhandled rejection Error: EACCES: permission denied, mkdir '/home/ubuntu/.npm/_cacache/index-v5/14/36'atus
    

    我只是在一个AWS实例上安装了NPM(6.4.1)和节点(11.2.0),没有问题。我在全球安装了Create React应用程序。错误说 This is an error with npm itself.

    我有点不知所措。我创建了目录/home/ubuntu/.npm/\cacache/index-v5/14,但它仍然没有成功。我显然在/home/ubuntu中拥有并拥有写权限。

    看起来它和sudo一起成功了。为什么?

    edit:ubuntu:ubuntu拥有当前目录和父目录(我在/home/ubuntu/workspace中)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Nedko Dimitrov    7 年前

    运行:

    sudo chown -R $USER:$USER '/home/ubuntu/.npm/'
    

    Linux操作系统 NPM NodeJS 在全球安装 sudo 文件的所有者是 通常是 用户 只能读取/执行该包。什么时候? NPM 停顿了 ~/.npm/ 文件夹由创建 . 通过运行 create-react-app 您正在执行命令 用户 创建React应用程序 正在尝试修改 ~/NPM/ 目录属于 而不是当前用户。您需要将该目录的所有者更改为您,这样就可以在不 苏多 特权。

    安装时通常会发生类似的事情 NPM 包装用 苏多 例如 sudo npm install <package> --save . 新安装的软件包归 例如,当您尝试更新/修改/删除项目时, 苏多 违反 NPM 您将出现类似的权限错误。在这些情况下,导航到项目目录并通过运行以下命令更改其所有者:

    sudo chown -R $USER:$USER .