安装Angular-cli时node-sass报错求助(附系统配置)
解决Angular CLI安装时node-sass无法安装的问题
这种node-sass安装失败的情况在旧Node版本搭配老Debian系统时确实很棘手,结合你的环境(Debian 4.4、Node v8.9.4),给你几个针对性的解决步骤:
1. 补齐系统编译依赖
node-sass安装时如果找不到匹配的预编译二进制包,就会触发源码编译,而老Debian系统默认缺少必要的编译工具,先执行以下命令补全:
sudo apt-get update && sudo apt-get install build-essential python2.7 libssl-dev git
划重点:Node v8.x对应的node-sass版本依赖Python 2.7,千万别用Python 3,否则编译肯定报错。
2. 安装与Node版本严格匹配的node-sass
Angular CLI在适配Node v8.9.4的版本里,依赖的node-sass版本是固定的,手动装错版本会直接导致失败,先单独安装兼容版本:
npm install -g node-sass@4.9.4
4.9.4是和Node v8.9.4完全兼容的node-sass版本,你可以通过
node-sass --versions命令确认对应关系。
3. 指定镜像加速+适配Angular CLI版本
直接装Angular CLI时,它可能会自动拉取不匹配的node-sass版本,或者遇到官方源的网络/版本缺失问题,试试下面的命令:
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/ npm install -g @angular/cli@1.7.4
@angular/cli@1.7.4是完全支持Node v8.9.4的稳定版本,同时用国内镜像加速二进制包下载,避免官方源的各种坑。
4. 彻底清理环境后重装(终极方案)
如果前面的步骤都没用,那就彻底清空缓存、重置Node环境后再试:
npm cache clean --force rm -rf ~/.npm/_cacache nvm reinstall v8.9.4 npm install -g @angular/cli@1.7.4
另外,Debian 4.4的libssl版本可能偏低,要是遇到SSL相关报错,可以临时关闭npm的严格SSL校验:
npm config set strict-ssl false
内容的提问来源于stack exchange,提问作者kaluginserg
相关产品推荐
相关产品推荐

