node-sass安装失败终极解决

背景:

项目是基于uniapp的vue2版本,非常老了,项目状况:node版本:: 14.21.3,node-sass版本:"^4.14.1",sass-loader版本:"^9.0.2",本地初始化时node-sass总是安装失败,原因就不多说了,下面说下解决方案:

方案一 : 手动下载包到本地文件夹,适合只是临时启动项目

使用node-sass仓库里的安装问题指南的调试方式

  1. 项目中 添加以下脚本,执行 preinstall 得到服务器的node版本 ,例如 win32-x64-83
arduino 复制代码
 "scripts":{
   "preinstall": "node -p "[process.platform, process.arch, process.versions.modules].join('-')" "
 }
  1. 去下载一个与 服务器的node版本匹配的binging.node 文件
  1. 离线包下载完之后,放入项目根目录的文件夹里,项目根目录可以新建一个ib文件夹,在根目录里cmd
ini 复制代码
Set SASS_BINARY_PATH=D:\WorkCode\liblwin32-x64-83_binding.node  //PATH=后面是的下载的.node所在的路径

接着
npm rebuild node-sass 
npm install node-sass -D
npm instal
  1. 最后需要去node_moduleslnode-sass里面看看有没有vendor文件夹,没有就自己新建一个,新建一个vendor/win32-x6483(这个文件夹名字按你下载的版本调整,我这里是83),最后把你下载的离线包复制一份进来,重命名为:binding.node就可以啦

方案二(推荐)

使用配置参数的方式,node-sass提供了两种修改他的环境变量方式,一种是参数的形式,一种是.npmrc/.yarnrc配置的方式,为了方便团队协作,选择后者

在package.json中我们能看到以一个配置,此时的binarySite配置已经是404了,所以我们重新配一个可以下载的地址即可

在项目根目录中添加.npmrc/.yarnrc文件,并添加以下代码

ini 复制代码
sass_binary_site=https://npmmirror.com/mirrors/node-sass/

然后正常安装即可

相关推荐
徐小夕11 分钟前
我们开源了一款“框架无关”的思维导图编辑器,3分钟集成到任意系统
前端·javascript·github
PBitW14 分钟前
GPT训练我的第三天,明白了应该咋说满分回答!😕😕😕
前端·javascript·面试
摸着石头过河的石头42 分钟前
前端多仓库管理:从混乱到有序的进化之路
前端
星栈1 小时前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
labixiong1 小时前
还原一个完整符合规范的 Promise(二)
前端·javascript
时光足迹1 小时前
腾讯云 TRTC UniApp SDK 从入门到上线
前端·vue.js·uni-app
时光足迹1 小时前
uni-app 里把加密视频嵌入页面播放?我分析了 4 种方案,只有 1 种接近完美
前端·vue.js·uni-app
To_OC2 小时前
万字解析《JS 语言精粹》之第五章:继承 5 大核心精髓(JS 原型核心)
前端·javascript·代码规范
时光足迹2 小时前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
DyLatte2 小时前
AI 时代,最危险的不是被替代,而是努力不沉淀
前端·后端·程序员