我正在尝试运行一个Angular应用程序。我执行
ng serve
命令,但它显示:
Error: 找不到模块“node-sass”
ng serve
命令,但它显示:
Error: 找不到模块“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/
永远不要对与npm
相关的查询使用sudo
命令。
sudo chown -R root:YOUR_USERNAME /usr/local/lib/node_modules/
。 - Jibin ThomascheckPermissions Missing write access to /usr/local/lib/node_modules
但是这个答案很有帮助 https://dev59.com/T1sX5IYBdhLWcg3wf_v3#40905762 - Alexey Nikonov运行此命令
sudo npm install -g <ModuleName> --unsafe-perm=true --allow-root
我在使用Ionic时遇到了这个问题,我通过将一个文件夹向后移动并运行以下命令来解决它:
sudo chmod -R 777 项目目录
之后执行:
npm install node-sass --save
试一下这个
sudo npm install -g --unsafe-perm node-sass
或者这个
sudo npm install -g --unsafe-perm --verbose @angular/cli
--unsafe-perm
可以正常工作。 - Louis Gosudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
npm install
命令的用户可能没有权限,因此会出现错误。读取和写入:允许用户打开项目并更改它。
只读:这允许用户打开项目,但不能更改其内容。
仅写入(投递箱):将文件夹变成投递箱。用户可以将项目复制到投递箱中,但无法打开它。只有投递箱的所有者才能打开它。
无访问权限:阻止所有对该项目的访问。
这帮助我解决了问题。
2023 工作解决方案
npm i --unsafe-perm node-sass
sudo su //switched to root user
npm i --unsafe-perm node-sass
参考资料:https://github.com/sass/node-sass/issues/2824#issuecomment-575960022
sudo chown -R $USER /usr/local/lib/node_modules/
sudo chown -R $USER /usr/local/bin/
sudo chown -R $USER /usr/local/share/
Windows: command prompt in administrator mode, and then run the above.
Mac:
sudo npm install node-sass
cd ..
cd ~
你当前的位置应该是:
~$
接下来,运行命令以创建项目。
cd ..
会有任何区别? - Peter Mortensen