原文链接 作者 李平海
node-sass是我们开发中很常见的依赖包,也是安装时间冗长和最常见到报错的依赖。原因有很多种,我们在说报错原因之前,先来分析一下node-sass的安装过程(以下出现的node版本为v10.15.3):
我们可以看到,安装node-sass有几个步骤:
- 校验本地node_modules中是否已安装node-sass,版本是否一致;
- 如未安装或版本不正确,从npm源安装node-sass本体;
- 检测全局缓存和本地是否有,如有即跳过安装;
- 没有则从github下载该二进制文件并将其缓存到全局;
- 假如下载失败,则尝试本地编译出该文件;
- 将版本信息写到;
由此看到,实际上node-sass依赖了一个二进制文件,从npm源安装完本体后还会从github下载。
因此安装node-sass相关的失败原因有几种:
由于众所周知的国内网络环境,从国内安装官方源的依赖包会很慢。可以将npm源设置成国内镜像源(如淘宝npm):
或者通过文件设置:
node-sass除了npm部分代码,还会下载二进制文件,默认源是github,国内访问较慢,特殊时期甚至无法访问。我们也可以将其改成国内源:
或者通过文件设置:
有类似问题的还有,,等常见依赖包,我们可以一并写到中:
node-sass版本兼容性并不好,老项目中依赖的node-sass很可能已经不兼容新的node,对应版本如下(或参考官方仓库):
本文开头的例子中,的版本是,可以看到,里面包括node-sass版本号,平台,架构,以及的版本64。Node Module是node的一个模块,其版本号可以在进程中查到:
如上显示,node10.15.3的module版本为64。 因此假如node-sass与node的版本不兼容,就会找不到对应的而报错,此时改node-sass或node的版本即可。
假如本地node版本改了,或在不同机器上运行,node版本不一致,会报类似错误:
这是因为原有缓存跟现node版本不一致。按提示或清除缓存重新安装即可。
安装失败后重新安装,有可能无权限删除已安装内容,此时或手动删掉原目录后再安装即可。
假如拉取失败,node-sass会尝试在本地编译,过程就需要python。假如你遇到前面几种情况解决了,实际上也不会出现在本地构建的情况了,我们就不谈这种失败中失败的情况吧。
到此这篇安装nodesass环境中报错(安装nodemodules)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/33772.html