node-sass 依赖包无法安装的解决方法

 一、问题描述

重装 Node 后,重新启动项目,报错未找到 node-sass 模块 试过各种 npm方法后依然无效,于是放弃安装。

 

网上常见的解决方法

使用 cnpm :cnpm install node-sass --save(失败)

指定镜像源:npm i node-sass --save --sass_binary_site=https://npm.taobao.org/mirrors/node-sass(失败)

将依赖下载到本地,然后赋值到项目 node-modules 目录(未尝试)

3 最终解决方法
使用 dart-sass 模块替代 node-sass

命令行输入如下命令,安装 dart-sass 模块并重命名为 node-sass

npm install node-sass@npm:dart-sass

 

最终解决方法

  • 使用 dart-sass 模块替代 node-sass

  • 命令行输入如下命令,安装 dart-sass 模块并重命名为 node-sass

  • npm install node-sass@npm:dart-sass

4 分析原因

原因一: npm源速度慢

国内网络环境,从国内安装官方源的依赖包会很慢,
解决方法是使用 cnpm
原因二: binding.node源无法访问或速度慢

node-sass除了npm部分的代码,还会下载二进制文件binding.node,默认源是github,国内访问较慢,特殊时期甚至无法访问。
解决方法是使用国内源,可通过.npmrc文件设置
原因三: node版本与node-sass版本不兼容

node-sass版本兼容性并不好,老项目中依赖的node-sass很可能已经不兼容新的node
原因四: 缓存中binding.node版本不一致

本地node版本改了,或在不同机器上运行,node版本不一致
按提示 npm rebuild node-sass 或清除缓存重新安装即可
注:node-sass会尝试在本地编译binding.node,该过程就需要python。

posted @ 2024-07-05 09:58  林财钦  阅读(7)  评论(0编辑  收藏  举报