【发布时间】:2023-03-25 12:40:01
【问题描述】:
我正在尝试运行 Angular 应用程序。我执行ng serve 命令,但随后显示:
错误:找不到模块“node-sass”
【问题讨论】:
-
使用 npm 版本 5.2.0。更多详情请至stackoverflow.com/questions/48147896/…
我正在尝试运行 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 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
运行此命令
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
【讨论】:
--unsafe-perm 有效。
我在Ionic 工作时遇到了这个问题,所以我通过将一个文件夹移回并运行以下命令解决了这个问题:
sudo chmod -R 777 project-directory
然后:
npm install node-sass --save
【讨论】:
这是由于用户的许可。您运行npm install 命令的用户可能没有权限。所以你得到了错误。
对于该用户,只需授予该项目文件夹的权限。 在 Mac 中,使用以下步骤并授予用户对该项目文件夹的读写权限
在您的 Mac 上,选择磁盘、文件夹或文件,然后选择菜单文件 → 获取信息。
如果共享和权限中的信息不可见,请点击箭头。
如果右下角的锁被锁定,单击它以解锁获取信息选项,然后输入管理员名称和密码。
单击名称列中的用户或组,然后从弹出菜单中选择权限设置。
读取和写入:允许用户打开项目并对其进行更改。
只读:这允许用户打开项目但不能更改其 内容。
只写(投递箱):将文件夹变成投递箱。用户可以 将项目复制到投递箱,但无法打开。只有拥有者 Dropbox可以打开它。
禁止访问:阻止对该项目的所有访问。
这帮助我解决了问题。
【讨论】:
这对我有用 -
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
【讨论】:
试试这个:npm install node-sass@version
如果你想要最新的,那就试试 npm install node-sass。
如果您遇到访问问题,那么:
Windows:管理员模式下的命令提示符,然后运行上面的。
苹果机:
sudo npm install node-sass
【讨论】:
如果您还没有添加 Node.js pakage.json,请尝试运行 node init。如果你已经有了这个,npm install node-sass。
如果两者都存在并且您正在使用Ubuntu,请尝试使用chmod -R <path to node module> 更改文件夹的权限。
【讨论】:
确保您不在 home 目录或其他位置。你需要回到根目录。
使用这个命令
cd ..
cd ~
您当前的位置应如下所示:
~$
之后,运行命令创建项目。
【讨论】:
cd .. 会有所作为?