2025年安装nodesass环境中报错(node-sass 安装失败)

安装nodesass环境中报错(node-sass 安装失败)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>项目中常常遇到node-sass安装失败&#xff0c;动不动就是报各种错误。以前我一次也没有失败过&#xff0c;自从系统重装我的天呀&#xff0c;node-sass就没有成功过&#xff0c;我能做的node卸载&#xff0c;sass重装各种版&#xff0c;以及换了淘宝镜像和用了vpn都安装失败。我也是无语&#xff0c;今天没事特意搜搜了看&#xff0c;一次复制了别人的文章进行总结&#xff0c;可以尝试一下&#xff0c;应该是可以的。<br /> &#xff08;这个是我在react项目中直接解决的 node-sass方法<br /> https://blog.csdn.net/lzfengquan/article/details/?spm&#61;1001.2014.3001.5501<br /> 这个是我的解决react项目中node-sass博客地址.不过我觉得可能有更好的方案。)<br /> 好了废话不多说哦&#xff0c;总有一款适合你。</p> 

讯享网

我遇到的问题一:
npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题。

百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之前安装失败的包导致的。文中给出了两种报错问题,使用淘宝镜像或者使用yarn,找不到当前环境的绑定可以删除重跑。
node-sass 安装失败的原因
npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。
这是使用 sass 的同学可能都会遇到的郁闷的问题。

解决方案就是使用其他源,或者使用工具下载,然后将安装源指定到本地

设置变量 sass_binary_site,指向淘宝镜像地址。示例:
执行命令

讯享网

或者设置全局镜像源:

 

之后再涉及到 node-sass 的安装时就会从淘宝镜像下载。

使用 cnpm 安装 node-sass 会默认从淘宝镜像源下载,也是一个办法:
执行命令

讯享网

在项目根目录创建.npmrc文件,复制下面代码到该文件。

 

保存后 删除之前安装失败的包(第一次安装请跳过此步) 执行命令

讯享网

重新安装

 

(在国内使用gulp编译sass时,需要安装gulp-sass,而gulp-sass依赖node-sass.
node-sass安装需要.node文件,国内由于各种原因无法下载)
方法 :
1、使用命令行安装node-sass,提升安装失败:Cannot download
在这里插入图片描述
讯享网
2、 尝试使用浏览器下载上面提到的地址。
命令行下载方式与浏览器下载方式不同。浏览器可能可以正常下载
3、下载完成后复制文件到指定目录(目录不要有空格、中文)。
如复制到E盘根目录下
在这里插入图片描述
4、回到命令行安装界面。
设置SASS_BINARY_PATH环境变量 set SASS_BINARY_PATH=E:/win32-x64-46_binding.node 文件名根据自己下载的文件自行修改
然后再次安装,可以看到我们安装成功了
在这里插入图片描述
5、node-sass安装时,查看需要的.node文件是否存在。
如果存在就不下载,如果不存在,需要下载。
我们已经告诉node-sass文件已经下载下来了,就在E盘,你去哪里找,他一看确实有,直接使用不再下载。

讯享网

安装失败后重新安装问题
之前安装失败,再安装就不去下载了,怎么办呢?那就先卸载再安装:

 

问题:[npm install 报node-sass错误]

讯享网
 

解决方案。

讯享网

stackoverflow原文

1 查看版本号

 

在这里插入图片描述
配置 变量 sass_binary_path:npm 命令或者yarn命令

讯享网

假设你的梯子在你本地机器上开启了一个第三方服务器 127.0.0.1:8080,那么只需按照下面的方法配置一下就能正常安装 node-sass 了(如果你开启的是 PAC 模式而不是全局模式,那还需要将 s3.amazonaws.com 加入 PAC 列表):

 
讯享网
 

看着这报错信息,看到有文件下载出现404,然后我又去找文件,结果搞hosts文件,我以为是python问题,然后重装各种版本python…

花了3小时,试了网上无数种答案,没有可以解决的
解决方案一(有可能你还是不会成功,因为我也试了,这种方法以前是可以的)
将sass-loader和node-sass的版本号提高到最新版,目前的最新版如下(2019年7月12日)
“sass-loader”: “^7.1.0”,
“node-sass”: “^4.12.0”,

如图所示,把package.json文件修改一下
在这里插入图片描述
然后再执行如下命令安装

讯享网
 

2021-06-06更新
Nodejs版本切换为13.6,这样才可以匹配上node sass的版本
简单的方法是,先卸载nodejs,然后安装13.6版本的
Nodejs13.6版本官网下载

解决办法二:
主要是windows平台缺少编译环境,
1、先运行:

讯享网

2、然后运行:

 

本以为万事大吉 一执行 npm install node-sass --save-dev 悲剧的事情上演了

讯享网
 

重新安装

讯享网

通常在各种方式都试过之后还是不行的时候,我们要考虑下是不是遗忘了哪个细节?

没错,可能我们思路本来都是对的,但是实际在运行时并没有按照我们预期的去执行,缓存就是可能导致这种情况的因素之一。
现在前端安装依赖大家常用的工具是npm和yarn
而这两者都有各自的缓存机制,有时候,第一次安装node-sass失败后,可能这个包就已经被缓存了,导致我们后续再进行安装时,就不再会从远程服务器或者是代理去拉取了。这就导致了一个死循环,永远拉不到正确的文件。
成因
其实node-sass安装不成功的跟本原因大家基本都清楚,就是他在安装过程中,需要用到一个二进制文件:binding.node,但是坑爹的是,这个二进制文件在“外面”,也就是需要科学上网才能获取,这就导致了绝大部分的安装失败。
除此之外,其实还有一些是因为通过设置各种代理之后,仍然不能获取到正确的binding.node文件,具体原因可能多种多样,但其实我们不需要关心这些问题,我们知道了问题的成因,那么直接从根源上解决问题即可。

1、检测当前环境中,node-sass要使用的binding.node对应的版本
2、获取到对应版本的binding.node
3、将获取到的binding.node放到缓存中

1、查看当前环境适用的binding.node

 

在这里插入图片描述

讯享网

在这里插入图片描述

 

所以为了保证正确安装,我们需要按照这个格式把下载到的文件放到缓存的目录下。
这里,win32-x64-93在不同的环境下可能有不同的版本,要注意看一下你本地对应的是什么版本。
查看版本上面给出了一个命令

讯享网

查看版本还有一种方式,就是当你第一次安装失败时,你去node-modules中去找node-sass目录,然后找到vender目录,进去就能看到你的环境下,building.node对应的版本了。

我本地的目录结构如下,供参考:
在这里插入图片描述
在这里插入图片描述

4、重新安装node-sass

小讯
上一篇 2025-05-08 17:32
下一篇 2025-04-16 14:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/173542.html