本地安装的node
版本不同,需要安装的node-sass
版本也是不一样的。node-sass
官方给出了不同版本的node
和node-sass
的对应关系,读者可访问node-sass github仓库或者node-sass npm仓库进行查看。 本地安装的node
版本,可以使用如下命令进行查看:
node -v
在项目中还没有package.json
或者有package.json
但是此文件没有指定node-sass
的版本时,默认会安装node-sass
的最新版本。由于笔者安装的node
版本时14.16.0
,执行npm install node-sass
命令默认安装了撰写本文时的node-sass
最新版本8.0.0
,所以才有了前文中报错。
根据版本对应关系,笔者应该安装node-sass
的4.14+
版本,因此需要将安装命令改为:
npm install node-sass@^4.14.0 --registry=https://registry.npm.taobao.org
这样就是使用淘宝源
来安装node-sass
的4.14+
中的最新版本。
在使用npm install
安装node-sass
时,会从?github.com
?上下载?.node
?文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。
附上报错截图。
这种情况下仅使用--registry
参数指定npm包的下载源是不够的,还需要使用--sass_binary_site
参数指定sass二进制文件的下载源,因此需要将安装命令改为:
npm install node-sass@^4.14.0 --registry=https://registry.npm.taobao.org --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
这样一来就是指定node-sass版本,指定npm包下载源为淘宝源,指定sass下载源为淘宝源,使用此命令基本就都能安装成功了。