为什么npm install 经常失败
Hello 您好,我是大粽子。深耕线上商城的攻城狮(程序员)一枚。
前言
这段时间真的是忙,最近能抽时间搞搞大家在自己环境中遇到的各种问题了,我呢就是见不得我的代码在你的电脑运行不起来的。就像姜子牙睡不着觉,必须得去陈塘关给哪吒把嘴擦干净才能睡着一样一样的。
还记得有次在电梯里,给前面一个美女把背上的蜜蜂打走了,还被嫌弃了。(人家那个蜜蜂其实是个装饰品,我做错了什么。。。)哈哈哈。 好久不见皮皮更健康。
谁应该看
科学 / 上网的同学可以忽略,针对网络环境不好且初次配置的同学。
为什么
来看看这段时间大家遇到的问题




这些也只是一部分,还有很多类似的问题群里隔三差五就会有人问道,但是基本的处理方式都是更换镜像,更换网络。不过上面这位风景作为头像的同学我很是敬佩他,他虽然不是软件开发者,但是他有开发者的独特潜力。
为什么 npm install 的时候需要安装git 因为npm依赖git服务检测版本,所以不能少,必备。
怎么处理
上次有发过一次暴力解决的文档,当有同学说用不起来,下面我就一步步实现下。为了更清晰的验证问题我特意安装一个windows的机器,环境很干净。




上面描述了现在win环境下干净的项目,注意win环境下展示还没安装git,我们可以试下直接将我已安装好的node_modules文件夹解压到上面截图的根目录能不能直接运行。能不能成功试下不就知道了。


干净的环境就是干净,像这样的问题还真只有干净的环境才会遇到。

这个方向竟然失败了,是的因为 vue/cli-plugin 等插件依赖github做版本管理,也有同学讲,为什么我的复制过来就能用,那是因为你已经安装过类似的环境,或者你的项目没有应用到类似需要github管理起来的npm包而已。
那么问题需要升级下,需要安装git且正确配置github ssh密钥。既然绕不过去,就继续开搞。
首先生成ssh key 再将key 配置到 github


为了保险,添加github ip 到host 文件
140.82.112.3 github.com
然后激动人心的时刻到了


推荐华为镜像站,满足大多数开发者需求。

常用镜像站:
npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
* taobao - http://registry.npm.taobao.org/
edunpm - http://registry.enpmjs.org/
eu ----- http://registry.npmjs.eu/
au ----- http://registry.npmjs.org.au/
sl ----- http://npm.strongloop.com/
nj ----- https://registry.nodejitsu.com/
pt ----- http://registry.npmjs.pt/
总结
皆大欢喜的结果哈,也可以使用nrm工具切换和管理镜像站,如果在使用镜像站的情况下出现一些莫名其妙的问题,清理node_modules文件夹重新安装。如果还有问题,可能是镜像站同步npm时版本差异导致的,还是npm install 解决一切烦恼!
来总结下我们怎么成功运行起来的
- 下载crmeb代码 cd到admin WEB PC 管理端
- 安装git 并生成ssh key 设置到github账户中(有截图)
- 添加host 140.82.112.3 github.com
- 所在网络环境不好的可以设置下面表格的镜像地址,我测试时用的华为的镜像
- npm install 安装成功 愉快的玩耍
推荐阅读
为什么npm install 经常失败的更多相关文章
- electron demo项目npm install安装失败解决办法
electron官网提供的demo项目,在npm install 的时候总是报错显示安装失败, 解决办法:FQ即可成功安装.
- LInux下npm install 安装失败问题
现象: 今天公司自己动部署的Jenkins出现了问题,在执行npm install的时候,失败了,下载不到npm,在查阅了各种报错信息之后还是没有解决,发现用淘宝镜像进行安装时,也会有安装不成功的情况 ...
- 忽略npm install安装失败信息
在package.json目录下运行npm install命令时会提示某些模块安装失败,如下图所示: 不管你在.npmrc文件中设置了proxy.https-proxy和registry地址,它还 ...
- npm install 包 失败解决方法
在ionic 安装包的时候 npm install xxx --save 出现如下错误 查看日志文件 14 verbose stack SyntaxError: Unexpected token &l ...
- npm install node-sass失败
Cannot download "https://github.com/sass/node-sass/releases/download/v3.8.0/win32-x64-46_bindin ...
- npm install -g @angular/cli@latest 失败
一开始的ERROR信息是 error "@angular/compiler-cli" package was not properly installed 尝试方案二时又出现了以下 ...
- npm install 失败
总结列表: 1. There is already an open DataReader associated with this Connection which must be closed fi ...
- npm install 错误 安装 chromedriver 失败的解决办法
npm 安装 chromedriver 失败的解决办法npm 安装 chromedriver 时,偶尔会出错,错误提示类似于:npm ERR! chromedriver@2.35.0 install: ...
- npm install失败或者进度卡住解决办法 以及 nrm的使用
今天在使用npm install安装url-loader时,遇到下载进度条停止问题 因为已经提前更换了 淘宝的镜像,应该不是网络问题,通过 npm config set loglevel info 显 ...
随机推荐
- .Net RabbitMQ实战指南——服务日志
RabbitMQ的日出输入方式有很多种:file.console .syslog .exchange. 在RabbitMQ中,日志级别有none(0).critical(4).error(8).war ...
- 四QT通过递归获取当前对象的全部子对象
children()只能获取到当前对象的子项,但是子项的子项就获取不到了,于是想到了用递归去获取全部子项.主要代码如下: void HomePage::getAllChild(QObjectList ...
- 二QT中使用QTimer定时器
QT中的定时器类叫QTimer(5.8以上版本才有),构造函数只需要提供父对象的指针 使用的话,需要调用QTImer的start方法,该方法以毫秒单位,每过指定毫秒时间,该类对象就会发出一个timeo ...
- Python分析【公众号】历史评论,看看大家的留言情况!
大家好,我是辰哥~~~ 辰哥玩公众号有一段时间了,这期文章分析一波读者的留言情况,不仅可以对公众号的各位铁粉一目了然,还可以通过分析的结果对公众号的经营进行更好的规划.如读者留言的内容通常是内容是什么 ...
- Redis和Memcached到底有什么区别?
前言 我们都知道,Redis和Memcached都是内存数据库,它们的访问速度非常之快.但我们在开发过程中,这两个内存数据库,我们到底要如何选择呢?它们的优劣都有哪些?为什么现在看Redis要比Mem ...
- linux学习之路第九天(任务调度)
crond 任务调度 概念 任务调度:是指的系统在某个时间执行的特定命令或程序. 比喻理解: 可以这样理解,比如生活中有闹钟,闹钟的作用是不是叫人起床的,那古时候没有闹钟,叫人起床的工作是不是要人去完 ...
- SqlServer常用语句整理
先记录下来 以后整理 1.常用语句 1.1update连表更新 update a set a.YCaseNo = a.WordName + '['+ convert(varchar,a.CaseYea ...
- take for granted
解释含义1 Take for granted是一句地道的英语口语,意思是to expect someone to always be there and do things for you even ...
- C语言代码段
/* 功 能:将str字符串中的oldstr字符串替换为newstr字符串 * 参 数:str:操作目标 oldstr:被替换者 newstr:替换者 * 返回值:返回替换之后的字符串 */ char ...
- FreeRTOS基本概念
1.在FreeRTOS中,使用的数据类型虽然都是标准C里面的数据类型,但是针对不同的处理器,对标准C的数据类型又进行了重新定义. 2.链表由节点组成,节点与节点之间首尾相连,节点包含用于指向后一个节点 ...