一个vue项目npm install失败的问题解决方案

vue的项目一直是史上最难的最烦的问题,今天给别人做毕设单子想在gitee上拉项目二开的时候,由于很久没写过vue项目已经生疏了,在拿到项目之后我还是例行完成最常见的步骤:

1、npm init -y 初始化

2、npm install 用npm把这个项目的依赖包都下载了

结果就出现了npm install一直在那转就是没任何变化的现象:

1、找到问题所在

为了解决这个问题,首先我们得知道是为什么导致的,那就得输出一些日志,不然连解决的问题是啥都不知道

首先【Ctrl + C】杀掉当前运行的程序

然后输入这个命令来在安装的时候输出日志:【npm install --verbose】

然后将这个日志拿去问AI是为啥:

那么我这里AI给出的结论是我的npm下载配置文件里的【镜像源路径】(++https://registry.npm.taobao.org/++) 已经过期,也就是npm根据我这个配置文件在一直找一个不存在的路径,所以没法下载

2、针对问题解决

1)更换有效最新的npm下载镜像源

那么通用的办法就是上网搜最新的npm镜像源下载地址,比如我搜到的目前2025年最新的地址是:

复制代码
淘宝:https://registry.npmmirror.com/ 
腾讯云:https://mirrors.cloud.tencent.com/npm/ 
CNPM:https://r.cnpmjs.org/

对应执行的更换配置的命令是:

复制代码
npm config set registry [镜像源地址]

比如:
-淘宝:npm config set registry https://registry.npmmirror.com/ 
-腾讯云:npm config set registry https://mirrors.cloud.tencent.com/npm/ 
-CNPM:npm config set registry https://r.cnpmjs.org/

2)检查更换成功没有

然后检查你当前的npm配置文件的路径更换成功没有:【npm get registry】

但是这里又有问题的了,我上面的那个更换npm镜像的方法是针对 "我这个电脑的全局的npm配置文件",也就是检查整个电脑配置的全局的环境变量里npm的配置文件:【.npmrc】的配置

什么意思呢?就是我们自己的之前搭建vue项目的时候配置了一个全局的配置文件,我们自己写vue文件是基于这个电脑的整个环境下来搭建的,那自然用的就是这个配置文件,你可以去你的电脑:【C:\Users\你的用户名\.npmrc】这个路径来找到这个配置文件

或者用【Win + R】cmd打开终端,再输入【npm get registry】也会发现其实我们的配置没有问题

那么我们需要到自己的项目里打开终端来检查,当我们回到项目里,要在你这个项目的【根目录】打开终端,输入【npm get registry】,就可能会发现你刚刚的配置并没有成功

3)项目里还有一个【.npmrc】配置文件,也要改

经过检查之后才发现,原来这个项目里还有一个【.npmrc】文件,这个文件覆盖了全局的npm的那个配置文件,所以我们刚刚改的只是我们电脑里全局的那个配置文件,而不是这个项目里的局部配置文件,我们只需要把它也改了就行

4)如果是用nvm管理node.js的,还要检查nvm那里的setting文件

前面的情况是单独直接安装一个node.js的用户的情况,那么还有的人是用nvm管理node的,那么要到nvm的安装路径下,找到setting文件,检查这里的镜像路径

5)最后还要删除【package-lock.json】文件

这个文件会规定死每个依赖包的安装来源的路径,即便你所有的配置文件都配置了最正确的镜像源,这个文件还会误导npm去到各个错误的路径区下载依赖包

直接删掉,然后执行一下【npm cache clean --force】清除一下npm前面下载留下的一些错误缓存

然后再执行【npm install】,就大功告成了,也会生成新的【package-lock.json】文件

相关推荐
人工智能训练师21 小时前
在Ubuntu中如何使用PM2来运行一个编译好的Vue项目
linux·运维·服务器·vue.js·ubuntu·容器
六月的可乐21 小时前
【干货推荐】AI助理前端UI组件-悬浮球组件
前端·人工智能·ui
呼啦啦呼_21 小时前
Echarts自定义地图显示区域,显示街道学校等区域,对原有区域拆分
前端
浩星21 小时前
iframe引入界面有el-date-picker日期框,点击出现闪退问题处理
前端·vue.js·elementui
技术钱21 小时前
element plus 多个form校验
前端
yume_sibai1 天前
HTML HTML基础(3)
前端·html
米花丶1 天前
JSBridge安全通信:iOS/Android桥对象差异与最佳实践
前端·webview
萌萌哒草头将军1 天前
🚀🚀🚀 Oxc 恶意扩展警告;Rolldown 放弃 CJS 支持;Vite 发布两个漏洞补丁版本;Rslib v0.13 支持 ts-go
前端·javascript·vue.js
接着奏乐接着舞。1 天前
3D地球可视化教程 - 第1篇:基础地球渲染系统
前端·javascript·vue.js·3d·three.js
龙傲天6661 天前
Scala的面向对象和函数式编程特性 Idea环境搭建和输入输出
前端