(转载)一劳永逸解决Vue sass-loader node-sass node的安装问题

node-sass代码库地址:https://github.com/sass/node-sass

吐槽

我已经被sass这个sb玩意折磨了无数次了,直接npm i sass-loader 就会报错,之前碰巧降版本解决了问题,但是这几天发现降版本也不管用了,百度直接搜错误信息甚至都找不到一个有用的答案。

查了N多资料无果之后我换了种方法,因为要实现sass需要同时有 sass-loader  node-sass   而node-sass一看就和node有关系,我以此为切入点搜索,终于让我找到一个大佬总结的文章。

为了以后不再被这sb玩意折磨,我决定转载一下这个文章。如果能帮到各位,请去给原作者点赞!

见过的错误

1、安装sass-loader后报 TypeError: this.getOptions is not a function

2、安装sass-loader 低版本后报 Syntax Error: Error: PostCSS received undefined instead of CSS string

3、安装node-sass时报 Install fail! RunScriptError: post install error, please remove node_modules before retry!

也许还有其他错误,但是这几个我几乎每次都能遇到。

万能无错版本

大佬总结了一套万能无错版本,但是经过我测试,以下版本对应是最完美的!

重要提醒:一定要先看node版本是不是符合要求,不符合的用下面的方法修改,不然装不上。版本一定得对应!

node 12.x
sass-loader 7.3.1
node-sass 4.14.1

node 16.x
sass-loader 10.0.1
node-sass 6.0.1

node版本对应的node-sass

NodeJS Supported node-sass version Node Module
Node 17 7.0+ 102
Node 16 6.0+ 93
Node 15 5.0+, <7.0 88
Node 14 4.14+ 83
Node 13 4.13+, <5.0 79
Node 12 4.12+, <8.0 72
Node 11 4.10+, <5.0 67
Node 10 4.9+, <6.0 64
Node 8 4.5.3+, <5.0 57
Node <8 <5.0 <57

下面是node-sass和sass-loader推荐对应版本

sass-loader@^4.1.1,node-sass@^4.3.0
sass-loader@^7.0.3,node-sass@^4.7.2
sass-loader@^7.3.1,node-sass@^4.7.2
sass-loader@^7.3.1,node-sass@^4.14.1

安装node-sass和sass-loader的方法

// 以下管理器任选一种,推荐cnpm
npm i node-sass@^4.14.1
cnpm i node-sass@^4.14.1
yarn add node-sass@^4.14.1

npm i sass-loader@^7.3.1
cnpm i sass-loader@^7.3.1
yarn add sass-loader@^7.3.1

查看 node 版本的方法

node -v

修改 node 版本的方法

// 首先安装node版本管理器n
sudo npm install n -g

// 自定义版本号安装
sudo n 版本号  //例如:sudo n 10.16.0 ; 本文推荐 sudo n 12

// 安装稳定版
sudo n stable

// 安装最新版
sudo n latest

发表评论

邮箱地址不会被公开。 必填项已用*标注