问题:在编译nodejs项目的时候,使用npm install命令安装npm依赖包特别容易出现node-sass包安装失败,报npm ERR! Failed at the node-sass@XXX postinstall script类似的错误。
原因:npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。
解决方法一、手动下载binding.node文件
1、执行npm uninstall node-sass卸载失败的安装
2、在https://github.com/sass/node-sass/releases页面下载binding.node文件。Linux系统下载对应Linux版,Windows系统下载Windows版,并将文件放到 /home/当前用户/.npm/node-sass/4.12.0/下(如果没有目录需新建)。
3、重新安装node-sass包,如果使用root用户,需要增加--unsafe-perm参数。参考命令如下:
#npm install node-sass@4.12.0--unsafe-perm-D
解决方法二、设置环境变量安装
1、执行npm uninstall node-sass卸载失败的安装
2、编辑.npmrc文件,手动添加SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass配置或者执行npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/命令自动添加配置。
3、执行npm install node-sass重新安装。