问题: 老生常谈 :node-sass报错
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.
// 伴随着之类的:
Error: Can't find Python executable "python2.7", you can set the PYTHON env variable.
解决过程(总有适合你的)
1、电脑是M1、node官网下载的node20、npm install 报错 看node-sass兼容性:github.com/sass/node-s… 找对应报错的node版本
2、安装之后装了n、n切换到14 发现npm install 报错 查询后发现node14适用inter芯片、如果想在M芯片上适用需要额外的帮助 1.去node官网下载node14版本、直接安装会提示M芯片需要额外安装 - 点确定安装后再用n就可以了 2.Mac的M系列芯片在安装16版本之前的node时,需要打开rosetta(我没试过 看到有大佬使用过) 解决方案类似:github.com/nvm-sh/nvm/…
3、切换到node14之后 发现npm install 报错 1.查找后说切换node-sass镜像源
npm uninstall node-sass
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
继续install仍然报错 2.使用cnpm 下载了cnpm 报错更多、其中还包括公司的私人组件404等问题
4、使用dart-sass代替node-sass 这个看起来很不错、但是项目中某些组件它也使用了node-sass(可能是这个原因
npm install node-sass@npm:dart-sass -D
继续install仍然报错
4、切换淘宝镜像源
npm install --registry=registry.npm.taobao.org
个人由于项目有公司的私人组件配置了.npmrc 依然报错(但是某些其他项目好使了)
5、由于报错中有python 决定安装 查找后:
npm install -g node-gyp
npm config set python python2.7
npm config set msvs_version 2017
以前从没安装过、但是依然报错、估计不是这个问题
6、经过无数次尝试后发现 去掉公司私域组件后 不报错、删除rc文件后不报错、说明是组件的问题、查询后单独给node-sass配置
registry=https://xxxxxxxxxxxxxxx/api/npm/dt-npm-public-new/
// 增加↓
sass_binary_site=https://npmmirror.com/mirrors/node-sass/
// 增加↑
package-lock=true
非常顺利
总结:问题一般只有俩。一个node版本、一个设置域 优先解决这俩、其他的再额外尝试。毕竟前端 一个git 一个node应该什么都能跑了