为什么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 显 ...
随机推荐
- 1、如何通过xstart远程连接桌面
1.1.安装依赖包: 1.安装语言包: [root@slave-node2 ~]# yum groupinstall -y "Fonts" [root@slave-node2 ~] ...
- [Linux]Ansible自动化运维① - 入门知识
目录 一.Ansible 概述 1.1 Ansible 是什么 1.2 Ansible 优势 1.3 Ansible 特性 二.Ansible 入门 2.1 Ansible 架构 2.2 Ansibl ...
- layui 合计行不要边框
$(".layui-table-total div").attr('style','text-overflow:clip'); //合并合计行单元格 $(".layui- ...
- 24 shell 管道命令与过滤器
1.管道命令的用法 2.使用管道命令的好处: 3.重定向和管道的区别 4.Linux管道实例 5.管道与重定向 1)管道与输入重定向 2)管道与输出重定向 6.过滤器 7.过滤器举栗 1.管道命令的用 ...
- 浅谈C++11中的多线程(二)
摘要 本篇文章围绕以下几个问题展开: 进程和线程的区别 何为并发?C++中如何解决并发问题?C++中多线程的基本操作 浅谈C++11中的多线程(一) - 唯有自己强大 - 博客园 (cnblogs.c ...
- Django基础-004 上下文管理器&中间件&前端公共代码复用
一.上下文管理器 在views中重复使用的代码,可以在上下文管理器中实现 上下文管理器的处理流程如下: 1.先走完views里面的代码,将结果返回给前端 2.然后再将上下文的结果返回给前端 3.上下文 ...
- java+selenium UI自动化001
selenium是一个用于Web应用程序测试的工具,可以用来模拟用户在浏览器上的操作. 支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Googl ...
- MySQL字符串操作函数
使用方法:concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11',' ...
- vivo x9i ADB 模拟点击
手机连接电脑无反应,安装360驱动大师 更多设置--关于---多次点击软件版本号--开启开发者选项 USB调试--USB模拟点击(需要密码开启)
- C语言 c++区别
C语言是C89标准,C++是C++99标准的.C89就是在1989年制定的标准,如今最新的是C11和C++11标准.根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少