找不到模块“ node-sass”中的错误


182

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


29
跑步npm install --save-dev node-sass
Ashok R

Answers:


361

解决方法如下:

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

请享用!


19
npm install node-sass行得通,但是如果有人可以补充为何行之有效的答案,而简单行之有效的话,那将是有益的。
迈克尔·波特

6
@AlexOnozor这项工作如何?
巴赫曼。

13
我需要做的就是在dev依赖项中 安装node-sassnpm install --save-dev node-sass
Subhash Diwakar

3
这对我有用。我在安装节点12时开始遇到此问题(在Angular 8中启动新的angular项目)。我的angular 6应用程序将不再生成并抛出关于node-sass的错误。全部固定:)
朋克学家

10
使用--save-dev可以使您的应用程序能够在本地node_modules中找到该模块。--save-dev将软件包添加到package.json中的devDependencies。--unsafe--perm用于以root用户身份运行安装脚本。为了避免sudo,请改用nvm。--unsafe--真的不需要perm,因为已经提到了sudo。因此,该命令基本上是不惜一切代价来密封脚本以安装node-sass。
Rahul Sharma

91
  1. 此错误是因为不存在node-sass ...要解决此问题,只需运行以下命令

npm install node-sass


36
添加为devDependencies npm install --save-dev node-sass
Ashok R

5
无济于事。我已经安装了node-sass十次(这并不容易),但是仍然失败。Node-sass显然是一个问题。
mcv

2
@AshokR您能否详细说明为什么在devDependencies解决问题时添加它?部署到产品中时,它将不会失败吗?
Amogh Natu

19

跑:

npm rebuild node-sass --force              

它会很好地工作。


2
不幸的是,它不能正常工作。对于我(在Windows上),问题仍然存在。
mcv

14

根据node-sass github页面,受支持的node.js版本因版本而异。

https://github.com/sass/node-sass

enter image description here

示例:检查您正在运行的节点的版本。

node -v
-> v12.0.0

您需要node-sass v4.12 +。这样你就可以

npm install node-sass@4.12.0

或者如果4.12.0是最新的

npm install node-sass@latest

npm install node-sass在许多情况下将安装最新版本,但请记住,如果package.json中的依赖项写为^ 3.0.0,〜4.11.0,则它并不总是安装最新版本(在此示例中为4.12.0))有 什么区别在package.json中的tilde(〜)和caret(^)之间?

最后,将sudo与npm一起使用不是一个好习惯。请参考这篇文章。 https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92


此解决方案对我
有用

“ npm install node-sass@4.12.0”-解决了我的问题-谢谢
gavgrif

13

这样做npm uninstall node-sass,然后npm i node-sass,不是为我工作。

对我有用的解决方案是npm install --save-dev node-sass

快乐编码


1
谢谢@ShortlyFD :) :) ..更新了答案。
万锦Manikanta,


4

未安装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来确保您在新的和原始的环境中具有相同的版本,即在该版本中可以正常工作,因为通常是在不同的环境中使用不同的版本




2

由于您拥有网络,因此下载npm依赖项存在问题。尝试在开放网络中下载npm依赖项。你不会有任何问题。我也面临着类似的问题,并最终解决了。

使用以下命令:npm install(它将下载所有内容)npm start启动角度应用程序


@TinySkillz我觉得他提的无代理的网络
AKHIL小号卡马斯

2

npm install node-sass 在大多数情况下都能胜任,因为它将添加缺少的sass npm依赖模块,或者它将覆盖先前崩溃的版本。

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

在Windows机器上npm rebuild node-sass --force,某些用户可能无法使用,因为这实际上是在说:“请强制npm为我重建sass节点模块”。它不起作用,因为该模块不存在。

每当npm install执行初始安装时,都不会安装sass模块,这就是为什么会出现此问题的原因。


2

我在本地计算机中检查了Node版本v10.11.0

然后,当我检查开发机器时,发生错误的地方是Node版本 V.10.8.0

将Node升级到v10.11.0我的开发机器中解决了该问题。

希望这可以帮助。


1
这是对我而言有效的答案。谢谢。
阿德什·库玛

2

就我而言,我还必须执行:

npm install sass-loader

解决问题





1

一种情况是安装后过程失败。在安装node-sass之后,将立即执行安装后脚本。该过程需要Python和C ++构建器。日志“ gyp:未检测到Xcode或CLT版本!” 也许是因为它找不到任何C ++构建器。因此,请尝试安装Python和任何C ++生成器,然后将其目录放入环境变量中,以便npm可以找到它们。(我来自Windows)


1

我在使用Microsoft Visual Studio Code的集成git终端时遇到此错误。由于某些奇怪的原因,VS代码不允许我安装“ node-sass”。然后,我使用了“ Git Bash”(与git一起安装)并运行了以下命令:npm install node-sass 它对我有用 。我不知道为什么以及如何运作。如果有人有任何解释,请告诉我。


我怀疑是因为您需要以管理员
身份


1

npm install --save-dev --unsafe-perm节点ass

这会做魔术,可以与sudo一起使用


1

我的问题是执行我的命令时,webfilter不允许我下载node-sass软件包

npm i

安装Windows Build Tools之后

npm i -g windows-build-tools

它建立node-sass在它自己的基础上,现在我可以使用它了。

PS:我之前也安装了Python 2.7.17,但我认为这没有帮助。


0

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

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

您可以使用npm 5.2.0版本安装

如果您使用的是nvm:-

nvm安装8.2.1
nvm使用8.2.1
npm安装node-sass

如果单独使用npm,则将npm版本升级或降级到5.2.0

npm安装node-sass

0

您应该尝试检查生成的日志npm install

我曾经遇到过同样的问题,但是我发现在路径(环境变量)中找不到python2的错误。

安装Python之后,一切正常。




0

Angular中安装依赖项时遇到相同的错误。我已经尝试了上述技术,但在删除package-lock.json了运行Node v11时先前创建的技术之前,这些技术均无作用

现在,我正在使用Node v12,这就是我的解决方法。

如果您package-lock.json将其删除,文件化,然后再安装依赖项,我会重复。



0

您必须在package.json的dev部分中安装node-sass

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.