配置:macOS High Sierra,版本10.13.2,节点:v8.1.2 npm:5.0.3 当我在angularjs项目中运行npm start时,我得到这个错误:

ERROR in Cannot find module 'node-sass'

然后我运行:

npm i node-sass

现在我得到这个错误:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1

为什么npm不安装node-sass?如何安装node-sass?


当前回答

这对我来说很管用。我首先卸载node-sass。然后重新安装。

NPM卸载node-sass NPM install——save-dev node-sass

其他回答

如果你跑了

npm install node-sass

它仍然不起作用,记得把权限改为文件夹

我也一直在面对这个错误。以上方法都不适合我。请遵循这个方法,因为它对我有用。

通过npm在Ubuntu 16中安装node-sass:-

你可以用npm 5.2.0版本安装

如果您正在使用nvm:-

nvm install 8.2.1
nvm use 8.2.1
npm install node-sass

如果你单独使用npm,那么升级或降级npm版本到5.2.0

npm install node-sass

NPM install node-sass将在大多数情况下完成这项工作,因为它将添加缺失的sass NPM依赖模块不存在,或者它将覆盖以前崩溃的版本。

对于Mac用户,在上述命令前使用sudo。

在Windows机器上,npm rebuild node-sass——force可能对某些用户不起作用,因为它本质上是在说,“请强制npm为我重建sass节点模块”。它将无法工作,因为该模块不存在。

无论何时你在初始安装时进行npm install, sass模块都没有安装,这就是为什么会出现这个问题。

Node-sass没有被安装,这可能是许多原因之一

您没有安装

npm install node-sass --save-dev

您有一个权限错误

sudo npm install --save-dev  --unsafe-perm node-sass

你有一个内存问题,因为它试图使它(构建从c代码在你的平台),这适用于某些平台和节点版本

node --max_old_space_size=8000 $(which npm) install node-sass --save-dev

你的节点和npm版本不兼容,这很可能在构建过程中产生了失败,

在这种情况下,使用n或nvm来确保在新环境和原始环境中有相同的版本,即它可以工作的版本,因为这通常是通过在不同的环境中使用不同的版本来实现的

我在没有安装node-sass的情况下修复了这个问题:

npm install node-sass@4.12.0 --no-save --unsafe-perm