当使用 npm i node-sass
安装失败时,可能遇到的问题。
1,可能遇到的问题
1,版本问题
不同版本的 node-sass 对应的 node 版本 不同,注意选择正确的版本。
2,依赖源
部分公司的流水线使用的 node 版本和下载依赖的源,都有限制。
所以可能是使用的源没有对应版本的 node-sass
。
3,node-sass 依赖的其他依赖无法下载
比如 node-sass
会依赖 node-gpy
,而该依赖又因为其他的原因无法下载。
2,解决
这是一个统一的解决方案,不需要本地安装 python
环境。
虽然无法直接通过 npm 下载 node-sass
,但可以下载二进制文件自行安装。
1,首先执行下面的代码,查看当前系统版本:
node -p "[process.platform,process.arch,process.versions.modules].join('-')"
得到:
win32-x64-93
2,去淘宝镜像源或 github 下载对应的 .node
文件(注意 node-sass
的版本)。
3,这样就可以进行本地安装 node-sass
了:
npm i -D node-sass --sass_binary_path=D:\files\win32-x64-93_binding.node
可能遇到的问题
第 3 步安装时依旧会报错。
首先检查下本地的 .npmrc
文件,包括 项目根目录 和 本地配置文件:
# 获取 .npmrc 用户配置文件路径
npm config get userconfig
获取 .npmrc 全局配置文件路径
npm config get prefix
比如我的 C:\Users\xxx\.npmrc
配置下,发现了:
SASS_BINARY_PATH=D:\binary\win32-x64-83_binding.node
// ...
这应该是之前在其他项目安装另一个版本的 node-sass
时,通过 npm set sass_binary_site D:\binary\win32-x64-83_binding.node
添加的配置,所以会导致当前的项目安装 node-sass
失败(版本不一致)。
以上。