为什么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 显 ...
随机推荐
- 基于C#的socket编程的TCP同步实现
该博客源著地址https://www.cnblogs.com/sunev/archive/2012/08/05/2604189.html 一.摘要 总结一下基于C#的TCP传输协议的涉及到的常用方法及 ...
- 21、部署heartbeat
21.1.heartbeat部署规划: 本文的实验环境是虚拟机设备: 名称 接口 ip 用途 master-db(主) eth0 10.0.0.16/24 用于服务器之间的心跳连接(直连) eth1 ...
- mapboxgl 互联网地图纠偏插件(二)
前段时间写的mapboxgl 互联网地图纠偏插件(一)存在地图旋转时瓦片错位的问题. 这次没有再跟 mapboxgl 的变换矩阵较劲,而是另辟蹊径使用 mapboxgl 的自定义图层,重新写了一套加载 ...
- Centos6.7 minimal安装GitLab8.3.4配置LDAP、发邮件以及升级到GitLab8.5.4
建议使用非root账户安装,先同步系统时间: ntpdate cn.pool.ntp.org 1.创建用户gitlab 注意:centos下,adduser和useradd的命令效果是一样的,但ubu ...
- ESP32构建系统(CMake版)
ESP32 芯片是一款 2.4 GHz Wi-Fi 和蓝牙双模芯片,内置 1 或 2 个 32 位处理器,运算能力最高可达 600 DMIPS. ESP-IDF 即乐鑫物联网开发框架,可为在 Wind ...
- Flask(12)- 操作 Session
前言 Session 详解:https://www.cnblogs.com/poloyy/p/12513247.html 这一节来瞧一瞧如何用 Flask 操作 Session 功能 list 提供操 ...
- bat自动创建快捷方式并更换图标
1 :: 此脚本主要的作用创建1.自动创建快捷方式:2.自动更换快捷方式图标 2 @echo off 3 >nul 2>&1 "%SYSTEMROOT%\system32 ...
- java基础---设计模式(2)
结构型模式 出处:https://blog.csdn.net/zhangerqing/article/details/8239539 一.适配器模式 适配器模式将某个类的接口转换成客户端期望的另一个接 ...
- (精)题解 guP4878 [USACO05DEC] 布局
差分约束模版题 不过后三个点简直是满满的恶意qwq 这里不说做题思路(毕竟纯模板),只说几个坑点: 1. 相邻的两头牛间必须建边(这点好像luogu没有体现),例如一组数据: 4 1 1 1 4 10 ...
- 常见内部排序算法对比分析及C++ 实现代码
内部排序是指在排序期间数据元素全部存放在内存的排序.外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序.本次主要介绍常见的内部排序算法 ...