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> <h4>node-sass 安装过程</h4> 

讯享网
  1. npm 拉下 node-sass包;
  2. 根据node版本和node-sass版本拉取对应的binding.node编译器,原因是sass的编译语言比较特殊,需要下载对应版本的编译器才能编译;(node scripts/install.js 阶段)
  3. 如果能拉下binding.node就【安装成功】; 如果找不到对应的binding.node包,即失败,然后就会尝试本地编译。

一、网络不稳定

首先要知道的是,安装 node-sass 时在 node scripts/install.js 这个阶段会从 github.com 上下载一个 .node 文件,大部分安装不成功的原因都源自这里,因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com 上面,而这个网址在国内总是“网络不稳定”,所以我们需要通过第三方服务器下载这个文件。

解决办法

1. 使用淘宝镜像
讯享网

然后重新执行 npm i node-sass 即可完成安装。

2. 使用梯子

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

 

3. 本地指定.node文件

比如我们在安装 node-sass 的时候可以发现它需要下载具体版本对应的 .node 文件:

讯享网

如果你的办公环境不能访问外网,那么可以从有网络的电脑上将.node文件(下载对应 node-sass 版本以及对应操作系统的)下载过来,再传到离线的电脑上指定 binary 路径来安装,执行以下命令完成安装:

 

二、本地编译没有Python环境

方法1:通过 NPM 包
讯享网

如果本地有网络还好,这两个包如果安装成功了,node-sass 基本就能安装成功了,但是如果你的办公环境限制网络可能也比较坑,参考:离线安装 node-gyp 。

方法2:搭建Python环境(建议2.7)
  • 1、去官网下载 www.python.org/download/re… ;
  • 2、安装成功之后,在环境变量中的系统变量新增python的安装路径;
  • 3、执行 npm rebuild node-sass 重构一下;
  • 4、再重新执行 npm install node-sass

三、node-sass版本与当前Node版本不匹配

因node版本与node-sass版本不匹配导致 binding.node 拉不下来,无法编译。


讯享网

node-sass 版本的兼容性不好,老项目中依赖的 node-sass 很可能已经不兼容新的 node 版本,对应版本兼容参考如下(或官方仓库):

NodeJS Supported node-sass version Node Module Node 15 5.0+ 88 Node 14 4.14+ 83 Node 13 4.13+, &lt;5.0 79 Node 12 4.12+ 72 Node 11 4.10+, &lt;5.0 67 Node 10 4.9+ 64 Node 8 4.5.3+, &lt;5.0 57 Node &lt;8 &lt;5.0 &lt;57

比如我在 Node 8 的环境下安装 node-sass@3.13.1, 安装的时候就会出现找不到对应的 binding.node 而报错,如下:

 

出现 404 了,此时更换 node-sass 或 node 的版本即可。

具体参考方案:

讯享网

因为Node 8 不能装 node-sass 3.x 这是肯定的(Node 7才对应 3.x),所以得装 node-sass 4.x。

如果项目中还有 gulp-sass 之类的包,而 gulp-sass 2.x 里面用了 node-sass 3.x,还是会有坑,所以 gulp-sass 得换到 3.x,建议安装 gulp-sass@3.2.1。

四、没有清理缓存

每次装包失败报错后记得都要 npm uninstall xxx 清除装包错误留下的缓存。

比如 npm i -D node-sass 报错了,就要执行一遍 npm uninstall node-sass,然后再重新安装。


小讯
上一篇 2025-06-02 15:42
下一篇 2025-04-27 09:44

相关推荐

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