在npm install安装项目依赖包时报错,我前面已经有一篇文章记录了,在同一个地方跌倒两次我也是一整个大无语了
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.14.1 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.14.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
百度了一番,网上提供的解决方案有几种:
1、给node-sass设置淘宝镜像源。一般下载不下来的原因大多的是因为默认是从github上去下载node-sass,而国内经常连不上或者网不好。可以执行以下命令单独下载npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
这个命令只是下载node-sass,因为之前npm install的时候已经下载了其他依赖包,在下载之前为保险起见最好先执行npm uninstall node-sass
卸载之前可能遗留的node-sass。
下载时可以通过@符号来制定下载版本,比如我项目中需要的是4.14.1版本npm i node-sass@4.14.1 --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
也可设置全局镜像npm install --registry=https://registry.npm.taobao.org
2、使用cnpm下载(不推荐)
3、vpn下载,就是说要翻墙了。
但是我使用了淘宝镜像源还是没下载下来!!依旧报错!弄了大半天发现如果不指定版本就能下载,但是下载的node-sass版本是6.0.1,我的一个项目此时已经可以启动了。
然而另外几个项目又报了其他错误:
Syntax Error: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.
意思是node-sass版本与我的项目的sass-loader等其他css编译器的版本冲突,我又将sass-loader升级到sass-loader@10.1.1,依旧报错,所以项目的node-sass还是得安装4.14.1版本的,我又卸载node-sass重新安装,依旧报文章最开头的哪个错误。这时我发现
往上翻报错信息还有
Downloading binary from https://npm.taobao.org/mirrors/node-sass/v4.12.1/win32-x64-83_binding.node
Cannot download "https://npm.taobao.org/mirrors/node-sass/v4.12.1/win32-x64-83_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
说明找不到下载路径,我又查看了node和node-sass版本的对照终于发现了问题!
node-sass4.14.1只支持node14及以下的版本安装,而我node是官网安装的最新稳定版本16.13.0的!难怪我直接使用npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
安装的是6.0.1版本!赶紧卸载node重新安装了14.5.0版本的,(也可以不卸载,使用nrm来维护各个node版本,有需要可自行百度配置)再执行npm i node-sass@4.14.1 --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
安装成功!