配置: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?


当前回答

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

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

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

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

其他回答

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

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

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

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

下面是解决方案:

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

享受吧!

编辑以解释选项(来自评论):

——save-dev被使用,这样你的应用程序就能在本地node_modules中找到这个模块。——save-dev将package添加到package.json中的devDependencies中。——不安全——perm用于以root身份运行安装脚本。为了避免sudo,请改用nvm。——不安全——烫发真的不需要,因为已经提到了sudo。因此,该命令基本上严格限制脚本以不惜任何代价安装node-sass。

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

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

完全相同的问题,我也面临着,我尝试了所有以上的答案,但无法解决,以下是命令,解决了我的问题。

NPM安装sass加载器

https://www.npmjs.com/package/sass-loader

此错误是由于node-sass不存在…要解决这个问题,只需运行以下命令

NPM安装node-sass