找不到模块时出现错误 'node-sass'

ERROR in Cannot find module 'node-sass'

配置:macOS High Sierra,版本 10.13.2,node: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,在本例中为 4.7.2.

由于您的网络原因,下载 npm 依赖项时出现问题。尝试在开放网络中下载 npm 依赖项。你不会遇到任何问题。我也遇到了类似的问题,终于解决了。

使用以下命令:npm install(它将下载所有依赖项) npm start 启动 angular 应用程序

运行:

npm rebuild node-sass --force              

它会正常工作。

  1. 这个错误是因为 node-sass 不存在...解决这个问题只是你想 运行 按照命令

npm install node-sass

解决方法如下:

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

尽情享受吧!

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

--save-dev 用于让您的应用程序能够在本地找到模块 node_modules。 --save-dev 将包添加到 package.json 中的 devDependencies。 --unsafe--perm 用于 运行 以 root 身份安装脚本。要避免 sudo,请改用 nvm。 --unsafe--perm 确实不需要,因为已经提到了 sudo。所以这个命令基本上是不惜一切代价安装 node-sass 的脚本。

它对我有用...

sudo npm rebuild node-sass --force

如果你运行

npm install node-sass

还是不行记得更改文件夹权限

我也遇到过这个错误。 None 以上方法对我有用。请按照此操作,因为它对我有用。

用于通过 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

我检查了本地机器上的 Node 版本,是 v10.11.0

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

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

希望对您有所帮助。

其中一种情况是 post 安装过程失败。安装 node-sass 后,将立即执行 post-install 脚本。它需要 Python 和该过程的 C++ 构建器。 日志 'gyp: No Xcode or CLT version detected!' 可能是因为找不到任何 C++ 生成器。所以尝试安装 Python 和任何 C++ 构建器,然后将它们的目录放在环境变量中,以便 npm 可以找到它们。 (我来自Windows)

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

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

在 Windows 台机器上 npm rebuild node-sass --force 可能对某些用户不起作用,因为它实际上是在说 "please force npm to rebuild the sass node module for me"。它不会工作,因为该模块不存在。

当您对初始安装进行 npm install 时,sass 模块未安装,这就是出现此问题的原因。

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

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

我遇到了同样的问题,发现路径(环境变量)中找不到python2的错误。

安装 Python 后,一切正常。

我在尝试 运行 一个项目时遇到了类似的问题。 首先我卸载了当前版本

npm uninstall node-sass

然后我用

重新安装到最新版本
npm install node-sass

npm uninstall node-sass 然后 npm i node-sass 对我没用。

对我有用的解决方案是 npm install --save-dev node-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 来确保您在新环境和原始环境中具有相同的版本,即它确实有效的版本,因为这通常是在不同的环境中使用不同的版本

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

npm install sass-loader

解决问题

升级到最新版本的 nodeJS 解决了我的问题

我已经通过安装 v10.16.10 节点版本解决了这个问题。

我失败了,因为我使用的是最新版本的节点 (12.7.0) 然后我不得不显式安装最新版本的 node-sass

npm install node-sass@4.12.0

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

这会很神奇,你可以用 sudo

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

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

示例: 检查你的节点版本 运行.

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 中的依赖项写成 ^,它并不总是安装最新版本(在此示例中为 4.12.0) 3.0.0, ~4.11.0) What's the difference between tilde(~) and caret(^) in package.json?

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

只需运行终端中的这个命令,它将安装最新版本的node-sass

npm install node-sass

我的问题是当我执行命令

时,webfilter 不允许我下载 node-sass package
npm i

安装 Windows 构建工具后

npm i -g windows-build-tools

它自己构建 node-sass,现在我可以使用它了。

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

如果您的节点版本是 12,请尝试 sudo npm install node-sass@4.12.0

这对我有用。我先卸载node-sass。然后安装回去。

npm 卸载节点-sass
npm install --save-dev node-sass

我在Angular中安装依赖时出现了同样的错误。我尝试了上述技术,但其中 none 一直有效,直到我删除了 package-lock.json 之前创建的 运行 节点 v11

现在我正在使用 Node v12 所以我就是这样解决的。

如果你有 package-lock.json 删除它,我重复一遍,文件然后安装依赖项。

我在没有安装 node-sass 的情况下通过以下命令解决了这个问题:

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

我在 Node 12.9.0

上安装 node-sass 时遇到了同样的问题

切换到 Node 10.19.0 后,问题就消失了。

参考:https://github.com/sass/node-sass/issues/2632

您必须在 package.json

的开发部分安装 node-sass
npm install --unsafe-perm node-sass --save-dev  

版本"node-sass": "4.5.3"似乎有问题,请尝试更新到最新版本。比如你可以尝试为最新版本添加 ^ "node-sass": "^4.5.3"

将此版本用于节点版本 v 14

"node-sass": "^5.0.0"

我不得不卸载然后重新安装 Xcode。这为我修复了错误。

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

npm install sass-loader sass webpack --save-dev

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