记录node-sass的安装
上一级页面:index-la
前言
这玩意坑很大,因为要编译后安装,不提供二进制发行文件
要编译,就涉及到编译工具链的问题,然后就会出现一大堆问题
解决方案
切换node版本
sass-loader要和node-sass版本相对应,node-sass要和nodejs的版本相对应。
如果你搞不清楚这些对应关系,那我建议,按照sass-loader官方提供的对照关系
查看对应关系:node-sass - npm (npmjs.com)
![Pasted image 20230521213501.png](https://webdav-1309345210.file.myqcloud.com/images/Pasted image 20230521213501.png)
packages.json里面给的node-sass的版本是6.x
"node-sass": "^6.0.1",
所以切换到nodejs 16.x,(按照图里说的,使用nodejs12.x或者其他版本也可以,自己尝试一下,我这里测试用16.x没问题)
nvm install 16
使用版本
nvm use 16
如果你直接下载尚硅谷提供的旧版本,那个版本的node-sass是4.9.0,对应nodejs8.x
阶段一 尝试自主编译
如果之前安装失败。先删除node_modules文件夹,然后清理缓存
# 先删除node_modules文件夹,然后清理缓存
npm cache clean --force
需要python3.0以上版本(部分2.7x版本也可,需要自行尝试)
winget install python3
我这里使用的vsbuild 2019 ,还需要安装windows 10 1904的sdk,报错如下
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.Cpp.WindowsSDK.targets(46,5): error MSB8036: 找 不
到 Windows SDK 版本 10.0.19041.0。请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。 [C:\code\src\IdeaProjects\renren-opensource\renren-f
ast-vue\node_modules\node-sass\build\src\libsass.vcxproj]
执行下面命令
npm install
没报错就是安装成功,然后使用npm run dev 就ok了
npm run dev
阶段2 尝试直接使用二进制文件
如果报错,则使用淘宝镜像源下载node-sass的二进制发行文件
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
执行成功看看有没有报错,如果没报错执行下面命令
npm install
没报错就是安装成功,然后使用npm run dev 就ok了
npm run dev
注:这么做得原理就是先单独从淘宝镜像把nod-sass下载下来,然后再进行npm install进行编译
阶段3 尝试换包管理器
如果还是报错,那就用yarn来进行安装
npm install --global yarn
yarn install
运行
yarn run dev