当前位置: 首页 > article >正文

一个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】文件


http://www.kler.cn/a/518459.html

相关文章:

  • C#新语法
  • 笔灵ai写作技术浅析(二):自然语言处理
  • 乒乓球日常烧拍日记之四海绵支撑
  • 【2024年华为OD机试】(A卷,200分)- 查找树中元素 (JavaScriptJava PythonC/C++)
  • ThinkPhp伪静态设置后,访问静态资源也提示找不到Controller
  • 基于 Android 的日程管理系统的设计与实现
  • 后端学习路线
  • Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
  • +-*/运算符优先级计算模板
  • 数学大模型MAmmoTH:通过混合说明调整建立数学通才模型
  • 浏览器默认语言与页面访问统计问题二三则
  • 网络知识小科普--5
  • 题海拾贝:力扣 622.设计循环队列
  • 后端面试题分享第一弹(状态码、进程线程、TCPUDP)
  • Midscene.js:重新定义UI自动化的新时代工具
  • 新版IDEA创建数据库表
  • PCIE模式配置
  • Elasticsearch 性能测试工具 Loadgen 之 002——命令行及参数详解
  • web端ActiveMq测试工具
  • AI Agent的规划系统:让Agent更智能地完成任务
  • Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)
  • 2、ceph的安装——方式二ceph-deploy
  • 亚博microros小车-原生ubuntu支持系列:8-脸部检测与人脸特效
  • python iter函数介绍
  • Frida使用指南(三)- Frida-Native-Hook
  • 原生HTML集合