常见问题
一、Godzilla安装环境node-sass报错总结
Godzilla-ui中的"@gza/quantex-scaffold需要node-sass依赖,在项目安装过程中容易出现报错,本文档总结有关报错以及相关解决方法
1、node-sass内部安装步骤:
- 校验本地node_modules中是否已安装node-sass,版本是否一致;
- 如未安装或版本不符,从npm源安装node-sass本体;
- 检测全局缓存和本地中是否有
binding.node
,如有即跳过安装; - 没有
binding.node
则从github下载该二进制文件并将其缓存到全局; - 假如
binding.node
下载失败,则尝试本地编译出该文件; - 将版本信息写到
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