当前位置:网站首页 > Node.js开发 > 正文

安装nodesass环境中报错(安装nodemodules)



原文链接 作者 李平海

node-sass是我们开发中很常见的依赖包,也是安装时间冗长和最常见到报错的依赖。原因有很多种,我们在说报错原因之前,先来分析一下node-sass的安装过程(以下出现的node版本为v10.15.3):

 

我们可以看到,安装node-sass有几个步骤:

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

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

因此安装node-sass相关的失败原因有几种:

由于众所周知的国内网络环境,从国内安装官方源的依赖包会很慢。可以将npm源设置成国内镜像源(如淘宝npm):

 

或者通过文件设置:

 

node-sass除了npm部分代码,还会下载二进制文件,默认源是github,国内访问较慢,特殊时期甚至无法访问。我们也可以将其改成国内源:

 

或者通过文件设置:

 

有类似问题的还有,,等常见依赖包,我们可以一并写到中:

 

node-sass版本兼容性并不好,老项目中依赖的node-sass很可能已经不兼容新的node,对应版本如下(或参考官方仓库):

NodeJS Minimum node-sass version Node Module Node 13 4.13+ 79 Node 12 4.12+ 72 Node 11 4.10+ 67 Node 10 4.9+ 64 Node 8 4.5.3+ 57

本文开头的例子中,的版本是,可以看到,里面包括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)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 升级 node(升级node后依赖用不了)2024-12-16 22:36:05
  • 安装node npm(安装node报错)2024-12-16 22:36:05
  • 安装node js(安装nodejs步骤微信小程序)2024-12-16 22:36:05
  • 找不到node.js(找不到nodejs二进制文件npm路径不存在)2024-12-16 22:36:05
  • nodejs安装python(nodejs安装在哪个盘)2024-12-16 22:36:05
  • nvm安装node(nvm安装node命令)2024-12-16 22:36:05
  • nvm安装node(nvm安装node失败)2024-12-16 22:36:05
  • nvm安装node版本(nvm 安装node)2024-12-16 22:36:05
  • npm安装node.js(npm安装node-sass报错)2024-12-16 22:36:05
  • 安装node的命令(安装node后怎么用)2024-12-16 22:36:05
  • 全屏图片