Skip to main content
Version: 4.0.2

常见问题

一、Godzilla安装环境node-sass报错总结

Godzilla-ui中的"@gza/quantex-scaffold需要node-sass依赖,在项目安装过程中容易出现报错,本文档总结有关报错以及相关解决方法

1、node-sass内部安装步骤:

  1. 校验本地node_modules中是否已安装node-sass,版本是否一致;
  2. 如未安装或版本不符,从npm源安装node-sass本体;
  3. 检测全局缓存和本地中是否有binding.node,如有即跳过安装;
  4. 没有binding.node则从github下载该二进制文件并将其缓存到全局;
  5. 假如binding.node下载失败,则尝试本地编译出该文件;
  6. 将版本信息写到package-lock.json;

由此看到,实际上node-sass依赖了一个二进制文件binding.node,从npm源安装完本体后还会从github下载binding.node

2、失败情况及解决

原因一: npm源速度慢

在本项目直接引用node-sass依赖时下载出现问题,设置镜像源npm config set registry https://registry.npm.taobao.org

原因二: python未安装(gza实际情况)

1、去https://www.python.org/downloads/release/python-2718/网址安装python

2、如果是windows,请根据Python安装路径设置环境边境

3、在cmd或者git bash中,输入python能够获取到即可

原因三: binding.node源无法访问或速度慢(gza实际情况)

node-sass除了npm部分的代码,还会下载二进制文件binding.node,在安装@gza/quantex-scaffold的依赖过程中,容易出现binding.node文件缺失问题,所以需要下载.node文件到本地,然后手动设置.node引导文件依赖,具体步骤如下

1、npm config list查看.npmrc文件路径

2、根据报错信息,从https://github.com/sass/node-sass/releases中下载对应版本的xxx_binding.node文件到指定目录,本例目录为D:\node-sass\win32-x64-83_binding.node

3、打开.npmrc路径添加设置sass_binary_path=D:\node-sass\win32-x64-83_binding.node

随后npm i即可成功

3、其他失败情况及解决参考

https://segmentfault.com/a/1190000020993365?utm_source=tag-newest