node-sass 安装失败解决方案
node-sass 已经被废弃,dart-sass 是官方推荐的选择,也不会遇到本文的问题 现在 npm 上安装 sass 默认已经是 dart-sass 了 —— 2022-3-29
node-sass
node-sass 是我们开发中很常见的依赖包,也是安装时间冗长和最常见到报错的依赖。无论是自己的项目想要使用还是使用他人的项目进行依赖安装,运行
npm install
总是会出大大小小的毛病
解决
遇到问题肯定是找搜索引擎啊,基本检索 node-sass 就会出现[失败,fail]等关键词联想=。=说明这个问题真的是非常普遍。然后简单记录下各种方法还有自己的方法。
这里是一些前人经验:
因为 npm 源速度慢导致的下载失败
一般来说都是推荐直接使用 cnpm 下载能够改善
cnpm install
或者更改源设置更完美,没有一些隐性 bug 出现.
npm config set registry https://registry.npm.taobao.org
或者可以仅将 node-sass 的下载源更改成淘宝镜像
npm config set sass-binary-site http://npm.taobao.org/mirrors/node-sass
因为二进制文件源访问速度慢或无法访问
node-sass 除了 npm 部分的代码,还会下载二进制文件,但是默认源是 github,总所周知,github 国内访问较慢,特殊时期甚至无法访问。我们也可以将其改成国内源,直接添加一条环境变量:
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ && npm install node-sass
或者可以在项目内添加一条.npmrc
文件然后添加
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
这样使用 npm 安装 node-sass 时就会去淘宝镜像下载二进制文件了.
最终解决方法
最终解决方法!使用梯子并设置代理
npm config set proxy http://127.0.0.1:#你梯子开启的本地端口#
npm install node-sass
# 下载完成后删除 http 代理
npm config delete proxy
特殊手段解决
如果是因为下载失败的原因,那么我们可以提前下载到本地,先是查询系统的版本确定适合哪个版本的二进制文件.
查询指令如下
node -p "[process.platform, process.arch, process.versions.modules].join('-')"
然后会弹出win32-x64-83
形式的系统版本,然后在下面两个地址中选择一个去下载对应系统版本的后缀为 .node 的 node-sass 文件
然后我们需要手动指定 node-sass 二进制文件的下载源为下载的那个文件.
npm config set sass-binary-path 你存放刚才下载的二进制文件的目录
// 例如 npm config set sass-binary-path e:/web/win32-x64-48_binding.node
然后npm i
应该就完事了,但是这个方法的确定就是无法更新 node-sass 的版本了,建议前面的方法都解决不了在尝试.
node-sass 安装失败解决方案
Author
enpitsulin
Posted on
Updated on