node-sass编译报错以及下载报错的解决方案

1.sass起源

sass 最早是 2006 年由 ruby 开发的也叫ruby-sass,作为和它 web 框架的模版引擎 haml 配套的编写 css 的语言。后来,Node.js 的出现推动了前端工程化的发展,也就是用 Node.js 来写前端用的编译打包等工具链。而 Node.js 只支持 c++ 这种编译型语言的扩展包,ruby sass 就用不了了,所以出现了 node-sass。直到 2019 年 3 月,ruby sass 宣布不再维护,sass 最早的编译器退出历史舞台。node-sass 因为是一个 c++ 模块,所以安装的时候要和 node 版本对应,不然就会编译报错。
在这里插入图片描述
但是,node-sass 已经被标记为过时了,SASS 团队的两个主要维护者感觉自己支持 CSS 新特性的速度跟不上了,而且社区出现了 dart-sass 这个对 css 新特性支持更好的 sass 编译器,随着时间的推移,CSS 新特性支持上差距越来越大。最终,在 2020 年 10 月份,node-sass 宣布了不再继续支持新特性,标记为了过时,推荐使用 dart-sass。dart-sass 毫无疑问是用 dart 来写的 sass 编译器。dart 是 flutter 的编程语言,可以编译为 js,所以它提供的 npm 是 js 的,不需要像 node-sass 一样和 node 版本有绑定关系。

2.了解了sass的起源知道了使用node-sass就需要对应的node版本进行编译,所以推荐nvm管理node版本。

a.nvm下载->安装包下载地址: https://github.com/coreybutler/nvm-windows/releases,windows直接下载【.exe】文件然后点击安装

在这里插入图片描述

b.如果有安装node,nvm会提示是否让它管理现有的node版本,点是即可。

在这里插入图片描述

c.修改nvm下载node的镜像源(选择):打开nvm文件夹下的settings.txt文件,在最后添加以下代码

在这里插入图片描述

arch:Windows 操作系统位数
proxy:代理,淘宝 NodeJS 镜像和 NPM 镜像

arch: 64
proxy:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

d.nvm指令(注意使用cmd时,要以管理员的身份打开不然会导致各种出错,例如下载不了或者use不上):

nvm-list	// 查看所有的node版本
nvm install <version>	// nvm下载指定的node版本(nvm insall 8.16.2)
nvm uninstall <version>	// nvm卸载指定版本
nvm-use <version>	// 使用指定的node版本(nvm use 8.16.2)
nvm install stable	// 安装最新稳定版

在这里插入图片描述

3.即使使用了正确的node版本编译,也可能会在下载node-sass失败或者时间会很长(国内网络环境的问题),所以我们还要配置下node-sass的下载源。

a.通过命令行配置node-sass下载源

// linux、mac 下
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass
// window 下
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ && npm install node-sass

b.创建.npmrc文件

1.在项目根目录创建.npmrc文件,复制下面代码到该文件。
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
registry=https://registry.npm.taobao.org

2.保存后删除之前安装失败的包(第一次安装请跳过此步)再安装
npm uninstall node-sass
npm install node-sass

c.如果通过以上两种配置还不行的话就直接下载:

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

参考文章:
1.https://developer.51cto.com/article/698854.html
2.https://blog.csdn.net/qq_38970408/article/details/124474050
3.https://blog.csdn.net/COCOLI_BK/article/details/121648480

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值