原工程运行正常,重新复制一份后再 npm install 后再运行就报错的解决办法

news2025/4/10 12:13:25

原工程,运行正常

将刚刚的工程复制一份呢,重新 npm install 再 npm run serve 就报错

出现这个问题十之八九都是依赖的问题。有可能是因为这个工程里面之前安装过一些东西,后来莫名其妙的就把 package.json 里面相关的依赖给删掉了。但由于原来的 node_modules 里面的依赖没有被删掉,所以原工程运行是正常的。复制一份出来后,我们重新对 package.json 里面的依赖列表进行 npm install 恢复,他就恢复不了之前已经被删掉的东西了,当依赖没有被完全恢复,我们再 npm run serve 就会报错。

这时我们可以借助一个工具,工具名称为 depcheck (依赖检查工具)

首先要用 npm i 全局安装一下这个工具,命令如下:

npm i -g depcheck

然后再到工程目录下运行 depcheck 依赖检查命令(dep[dependency(依赖)] check[检查])

depcheck

Unused dependencies:未使用的依赖项

Unused devDependencies:未使用的开发依赖(官方文档说这里检查的不怎么准确)

Missing dependencies:缺少依赖项

检查完毕后会告诉你目前的依赖信息,有一些情况是需要你处理的。他告诉你目前这个工程中缺失了红框圈出的这些依赖(Missing dependencies[缺少依赖项]),而且还会告诉你这些依赖是在哪些文件中用到了的。

这个时候只需要把这些缺失的依赖重新安装好就可以成功运行了。

我们再进行依赖检查时,他还会告诉你除了缺失的依赖外,还有一些情况也最好处理一下,比如这里红框圈出来的这些依赖(Unused dependencies[未使用的依赖项]),表示说在 package.json 里面写了这个依赖,但在代码里面没有用到,最好把这些没有到的依赖删掉。

这个时候我们把这些没有用到的依赖删掉,再来 depcheck 检查一下,这些没有用到的依赖就不会出现了。

但还有一个问题,就是在 Unused devDependencies[未使用的开发依赖] 里面,这里面也有一些没有使用到的依赖,不过按照官方文档的说法这里检查的时候不怎么准确,像我们这个工程都是在 vue cli 里面搭建的,而 vue cli 里面肯定是要用到 @vue/cli-plugin-babel 这些的。

解决办法:在项目工程里面建立一个文件,文件名叫 .depcheckrc

.depcheckrc

在这个文件里面,要告诉 depcheck 应该忽略掉哪些依赖,不要去检查他,如果检查的话可能检查出来的是有问题的。

使用方法:使用 ignores: ["", "", ""] 把要去除掉检查的依赖依次写进去即可

ignores: ["@babel/eslint-parser", "@vue/cli-plugin-babel", "@vue/cli-plugin-eslint"]

再来 depcheck 检查一下,刚刚添加到 ignores 里面的这些依赖就不会出现在 Unused devDependencies[未使用的开发依赖] 里面了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lwIP 开发指南

目录 lwIP 初探TCP/IP 协议栈是什么TCP/IP 协议栈架构TCP/IP 协议栈的封包和拆包 lwIP 简介lwIP 源码下载lwIP 文件说明 MAC 内核简介PHY 芯片介绍YT8512C 简介LAN8720A 简介 以太网接入MCU 方案 lwIP 无操作系统移植lwIP 带操作系统移植ARP 协议ARP 协议的简介ARP 协议的工作流…

uni-app项目运行和项目结构目录讲解

UNI-APP学习系列 uni-app项目运行和项目结构目录讲解 文章目录 UNI-APP学习系列前言总结 前言 UNI-APP学习系列之uni-app项目运行和项目结构目录讲解 运行项目 使用 pnpm 包管理工具 # 查看是否安装pnpmpnpm -v# 无则安装npm install -g pnpm下载依赖 pnpm i运行pnpm dev:h…

Window的创建

Window的创建 上一篇说到了Window和WindowManager的关系并且讲述了WindowManager如何添加Window与Window内部的三个方法的实现 这篇主要讲几个常见的Window的创建比如Activity,Dialog和Toast 其中Activity属于应用Window Dialog属于子Window Toast属于系统Window z-order…

python基础知识(二):变量和常用数据类型

目录 1. 变量1.1 变量的定义1.2 变量的命名规则 2. 常用数据类型2.1 字符串2.1.1 字符串的常用方法2.1.1.1 title()方法:将字符串中的单词首字母大写2.1.1.2 upper()方法:将字符串中的单词字母全大写2.1.1.3 lower()方法:将字符串中的单词字母…

什么是分段路由?如何在网络中实施分段路由?

在计算机网络中,分段路由(Subnetting)是一种将一个大的网络划分为多个较小子网的技术。它允许网络管理员更有效地分配 IP 地址和管理网络流量。本文将详细介绍分段路由的概念、原理以及如何在网络中实施分段路由。 1. 分段路由的概念 分段路…

【深入浅出Spring Security(一)】Spring Security的整体架构

Spring Security的整体架构 一、整体架构认证(Authentication)AuthenticationManagerAuthentication登录后的数据保存(SecurityContextHolder) 授权(Authorization)ConfigAttribute 二、总结 这篇博客所述主…

CISCN 2023 初赛 pwn——Shellwego 题解

这是一个用go语言写的elf程序,没有PIE。这也是本蒟蒻第一次解go pwn题,故在此记录以便参考。 而且,这还是一个全部符号表被抠的go elf,直接面对一堆不知名的函数实在有些应付不来,因此在比赛时委托逆向的队友把符号表…

2023/5/28总结

static static:静态,可以修饰成员方法,成员变量。(是所有成员共享的) static修饰的特点: 被类的所有对象共享(判断是否使用静态关键字的条件)可以通过类名和对象名调用在定义对象时,…

图【数据结构】

目录 一、图的定义和基本术语 二、图的类型定义 三、图的存储结构 1、数组(邻接矩阵)表示法 二、邻接表(链式)表示法 三、图的邻接表的存储表示 四、十字链表与邻接多重链表 (1)十字链表 &#xff…

113.删除有序数组中的重复项 removeDuplicatesFromSortedArray

文章目录 题目描述解题思路代码详解运行截图 题目描述 题目链接 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元…

Java中ReentrantLock的概念深入理解

ReentrantLock和Synchronized的区别 核心区别 ReentrantLock是一个类,Synchronized是Java中的一个关键字。 两者都是JVM层面实现互斥锁的方式 效率区别 线程竞争激烈推荐使用ReentrantLock去实现,不存在锁竞争观念; Synchronized是存在锁升…

大数据Doris(二十九):Broker Load导入HDFS csv 格式数据并提取文件路径中的分区字段

文章目录 Broker Load导入HDFS csv 格式数据并提取文件路径中的分区字段 一、创建Doris表 二、准备HDFS数据<

蚁群算法(解决TSP问题)

一、概述 蚂蚁在寻找食物源时&#xff0c;会在其经过的路径上释放一种信息素&#xff0c;并能够感知其它蚂蚁释放的信息素。信息素浓度的大小表征到食物源路径的远近&#xff0c;信息素浓度越高&#xff0c;表示对应的路径距离越短。通常&#xff0c;蚂蚁会以较大的概率优先…

chatgpt赋能python:Python文件复制粘贴到另一个目录

Python文件复制粘贴到另一个目录 Python是一种通用编程语言&#xff0c;可用于各种任务&#xff0c;包括文件复制和移动。在本文中&#xff0c;我们将探讨Python中的文件复制粘贴到另一个目录。 为什么要使用Python进行文件复制粘贴&#xff1f; Python提供了强大的文件处理…

case when用法

case when的基本使用&#xff1a; Case when 的用法: 一旦满足了某一个WHEN, 则这一条数据就会退出CASE WHEN , 而不再考虑 其他CASE。 Case when 的用法 -- -搜索Case函数: Case函数(Case搜索函数): 判断表达式的真假,如果为真,返回结果;如果为假,返回else值;如果未定义el…

批处理文件(.bat)启动redis及任何软件(同理)

批处理文件 每次从文件根目录用配置文件格式来启动redis太麻烦了 可以在桌面上使用批处理文件&#xff08;.bat&#xff09;启动Redis&#xff0c;请按照以下步骤进行操作&#xff1a; 打开文本编辑器&#xff0c;如记事本。 在编辑器中输入以下内容&#xff1a; 将文件保存…

70.爬楼梯问题+746.使用最小花费爬楼梯

目录 一、70.爬楼梯问题分析 二、代码 三、746.使用最小花费爬楼梯分析 四、代码 一、70.爬楼梯问题分析 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution { public:int climbStairs(int n) {if(n1||n2)return n;vector<int>dp(n1);dp…

线性表的链式表示——单链表

目录 一、单链表的定义二、单链表上基本操作的实现1、采用头插法建立单链表2、采用尾插法建立单链表3、按序号查找结点值4、按值查找表结点5、插入结点操作6、删除结点操作7、求表长操作 三、双链表、循环链表、静态链表 顺序表可以随时存取表中的任意一个元素&#xff0c;它的…

翻译:开源软件的架构(volume2): 可伸缩web框架及分布式系统

英文源地址 开源软件已经成为构建一些超大型网站的基础组成部分了.随着这些网站的成长, 围绕着它们软件架构的最佳实践与指导思想开始涌现.本文尝试去阐述设计大型网站时的需要考虑一些关键问题, 以及用于实现这些目标的基础组件. 本文主要关注web系统,尽管其中一些内容也适用于…

网络安全-01-VMware安装Kali部署DVWA

网络安全-01-VMware安装Kali&部署DVWA &#x1f53b;一、Kali简介&下载&#x1f4d7; 二、VMware安装Kali&#x1f4f0; 2.1 新建虚拟机&#x1f4f0; 2.2 开始安装Kali&#x1f4f0; 2.3 更换apt源为国内源&#x1f4f0; 2.4 启动mysql-这里使用自带的maridb&#x1f…