错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build'
Posted
技术标签:
【中文标题】错误:EACCES:权限被拒绝,mkdir \'/usr/local/lib/node_modules/node-sass/build\'【英文标题】:Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/build'错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build' 【发布时间】:2018-09-15 17:10:29 【问题描述】:我正在尝试运行 Angular 应用程序。我执行ng serve
命令,但随后显示:
错误:找不到模块“node-sass”
【问题讨论】:
使用 npm 版本 5.2.0。更多详情请至***.com/questions/48147896/… 关注这个:- ***.com/questions/48147896/… 【参考方案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
但这个答案很有帮助***.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。
如果您遇到访问问题,那么:
Windows:管理员模式下的命令提示符,然后运行上面的。
苹果机:
sudo npm install node-sass
参考文献
ERROR in Cannot find module 'node-sass'
Windows: 'npm install node-sass' fails when module 'install.js' cannot be found. #603
【讨论】:
【参考方案8】:如果您还没有添加 Node.js pakage.json,请尝试运行 node init
。如果你已经有了这个,npm install node-sass
。
如果两者都存在并且您正在使用Ubuntu,请尝试使用chmod -R <path to node module>
更改文件夹的权限。
【讨论】:
【参考方案9】:确保您不在 home 目录或其他位置。你需要回到根目录。
使用这个命令
cd ..
cd ~
您当前的位置应如下所示:
~$
之后,运行命令创建项目。
【讨论】:
为什么cd ..
会有所作为?以上是关于错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build'的主要内容,如果未能解决你的问题,请参考以下文章
Errno::EACCES(权限被拒绝@dir_s_mkdir
Rails 4.2.0 - Errno::EACCES(权限被拒绝@dir_s_mkdir - /files)
Docker:EACCES:权限被拒绝,mkdir '/app/node_modules/.cache'
将 React 添加到工作区失败,EACCES:权限被拒绝,mkdir '/home/mint/.cache/Cypress'