繁体   English   中英

错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build'

[英]Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/build'

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

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

解决方案:

您需要更改文件夹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相关的查询。

运行此命令

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

尝试这个

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

或这个

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

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

sudo chmod -R 777 project-directory

在此之后:

npm install node-sass --save

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

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

  • 在 Mac 上,选择磁盘、文件夹或文件,然后选择菜单FileGet Info

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

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

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

    • 读写:允许用户打开项目并进行更改。

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

    • 只写(投递箱):使文件夹成为投递箱。 用户可以将项目复制到投递箱,但不能将其打开。 只有保管箱的所有者才能打开它。

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

这帮助我解决了问题。

这对我有用 -

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

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

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

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

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

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

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

  2. 苹果电脑:

     sudo npm install node-sass

参考

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

使用此命令

cd ..
cd ~

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

~$

在此之后,运行命令来创建一个项目。

你需要在你的shell中使用“root”用户,

使用此命令:

须藤苏-

那么你应该输入你的密码

然后尝试安装该软件包,我认为它可以与您尝试全局安装的任何软件包一起使用

在这个网站上对我有帮助的更多信息

http://www.dark-hamster.com/programming/how-to-solve-error-message-eacces-permission-denied-in-nodejs-application/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM