【问题标题】:Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/build'错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build'
【发布时间】:2023-03-25 12:40:01
【问题描述】:

我正在尝试运行 Angular 应用程序。我执行ng serve 命令,但随后显示:

错误:找不到模块“node-sass”

【问题讨论】:

标签: node.js angular npm


【解决方案1】:

解决方案:

您需要更改文件夹node_modules的所有权,因为您使用sudo npm install -g node-sass,所以它的所有权设置为root。

将所有权更改为当前用户作为组 -

sudo chown -R root:$(whoami) /usr/local/lib/node_modules/

sudo chmod -R 775 /usr/local/lib/node_modules/

并且永远不要使用sudo 进行与npm 相关的查询。

【讨论】:

  • 为我工作,但不把 root: 放在第一个命令中的用户名之前
  • 代替第一个命令使用sudo chown -R root:YOUR_USERNAME /usr/local/lib/node_modules/
  • 之后我又遇到了一个错误:checkPermissions Missing write access to /usr/local/lib/node_modules 但这个答案很有帮助stackoverflow.com/a/40905762/9277453
【解决方案2】:

运行此命令

sudo npm install -g <ModuleName> --unsafe-perm=true --allow-root

【讨论】:

  • 这对我有用。任何解释都会有所帮助。
  • 解释一下。例如,想法/要点是什么?它的安全含义是什么?它是如何工作的?为什么它有效?来自the Help Center“...总是解释为什么你提出的解决方案是合适的以及它是如何工作的”。请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来好像是今天写的)。
【解决方案3】:

试试这个

sudo npm install -g --unsafe-perm node-sass

或者这个

sudo npm install -g --unsafe-perm --verbose @angular/cli

【讨论】:

  • 我有一台机器使用 root 用户运行 npm install 但仍然失败。只有--unsafe-perm 有效。
【解决方案4】:

我在Ionic 工作时遇到了这个问题,所以我通过将一个文件夹移回并运行以下命令解决了这个问题:

sudo chmod -R 777 project-directory

然后:

npm install node-sass --save

【讨论】:

    【解决方案5】:

    这是由于用户的许可。您运行npm install 命令的用户可能没有权限。所以你得到了错误。

    对于该用户,只需授予该项目文件夹的权限。 在 Mac 中,使用以下步骤并授予用户对该项目文件夹的读写权限

    • 在您的 Mac 上,选择磁盘、文件夹或文件,然后选择菜单文件获取信息

    • 如果共享和权限中的信息不可见,请点击箭头。

    • 如果右下角的锁被锁定,单击它以解锁获取信息选项,然后输入管理员名称和密码。

    • 单击名称列中的用户或组,然后从弹出菜单中选择权限设置。

      • 读取和写入:允许用户打开项目并对其进行更改。

      • 只读:这允许用户打开项目但不能更改其 内容。

      • 只写(投递箱):将文件夹变成投递箱。用户可以 将项目复制到投递箱,但无法打开。只有拥有者 Dropbox可以打开它。

      • 禁止访问:阻止对该项目的所有访问。

    这帮助我解决了问题。

    【讨论】:

    • 是的,这是我们想要的答案,而不是 “试试这个”“这对我有用” 没有解释和具有未指明的安全隐患。
    【解决方案6】:

    这对我有用 -

    sudo chown -R `whoami` ~/.npm
    sudo chown -R `whoami` /usr/local/lib/node_modules
    

    【讨论】:

      【解决方案7】:

      试试这个:npm install node-sass@version

      如果你想要最新的,那就试试 npm install node-sass

      如果您遇到访问问题,那么:

      1. Windows:管理员模式下的命令提示符,然后运行上面的。

      2. 苹果机:

         sudo npm install node-sass
        

      参考文献

      【讨论】:

        【解决方案8】:

        如果您还没有添加 Node.js pakage.json,请尝试运行 node init。如果你已经有了这个,npm install node-sass

        如果两者都存在并且您正在使用Ubuntu,请尝试使用chmod -R &lt;path to node module&gt; 更改文件夹的权限。

        【讨论】:

          【解决方案9】:

          确保您不在 home 目录或其他位置。你需要回到根目录。

          使用这个命令

          cd ..
          cd ~
          

          您当前的位置应如下所示:

          ~$
          

          之后,运行命令创建项目。

          【讨论】:

          • 为什么cd .. 会有所作为?
          猜你喜欢
          • 2021-12-22
          • 1970-01-01
          • 2018-08-01
          • 2020-10-25
          • 1970-01-01
          • 2022-07-05
          • 1970-01-01
          • 2019-02-13
          • 2018-12-15
          相关资源
          最近更新 更多