由于误删了node依赖,导致这后面的一系列操作

news2024/9/21 14:45:19

文章目录

  • 1. 事发原因:Delete select files
  • 2. Delete select files引起的cross-env报错
  • 3. cross-env是node_modules的依赖工具
  • 4. 那么Delete selected files到底是什么操作
  • 5. 重装node_modules依赖包,也报错
  • 6. 报错:cb() never called!
  • 7. 算了,麻了,重装node吧
  • 8. 现在我再来install一下
  • 9. 分析前端依赖包的流程(package.json与package-lock.json)
  • 10. 到现在就是下载不下来,到底是什么问题
  • 11. 最后的杀手锏

1. 事发原因:Delete select files

由于我不想提交node_module文件夹,然后选择了Delete select files
在这里插入图片描述

2. Delete select files引起的cross-env报错

后面就开始出现依赖报错了

‘cross-env’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

3. cross-env是node_modules的依赖工具

这是百度出来的答案,简单来说就是nodeJS的工具,并存放在node_modules/.bin文件夹

这个错误信息表示系统无法找到 cross-env 命令。cross-env 是一个用于跨平台设置 Node.js 环境的工具,它允许你在不同的操作系统上使用统一的变量设置。

从上述解释来看,出现'cross-env' 不是内部或外部命令,也不是可运行的程序 或批处理文件。这个问题,确实是因为SVN Delete select files,导致依赖包被删除。

4. 那么Delete selected files到底是什么操作

首先,VS Code的svn插件,是用来与svn仓库交互的,Delete Selected files就是用来删除你选中的文件的,并将这一删除操作提交到svn仓库中。

误区:之前一直以为Delete Selected files的意思是,不提交这些文件。

5. 重装node_modules依赖包,也报错

根据网上的各种花里胡哨的答案,执行了以下操作

  • 删除下载好的node_modules
  • 删除package-lock.json文件
  • 清除npm缓存 npm cache clean --force
  • npm install

然后直接出现这个错误

npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired
npm ERR! A complete log of this run can be found in: D:\nodejs\node_cache_logs\2024-01-23T11_00_28_143Z-debug-0.log

这是又是什么原因呢?

其实,早在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。旧域名也将于 2022 年 5 月 31 日停止服务。不过,直到2024年1 月 22 日, HTTPS 证书到期才真正不能用了(registry.npm.taobao.org)这就导致旧的 npm 淘宝镜像在使用时出错了。

那就更换镜像

  • 清空缓存:npm cache clean --force
  • 切换新源:npm config set registry https://registry.npmmirror.com
  • 查看源是否设置成功:npm config get registry

6. 报错:cb() never called!

重新再执行一波操作

  • 删除下载好的node_modules
  • 删除package-lock.json文件
  • 清除npm缓存 npm cache clean --force
  • npm install

但是出现了新的报错(此时我已经在骂街了!这 ni 马又是什么问题)
在这里插入图片描述
下面我总结了网上的几种解决方法(都不行!)
方法一

  • 删除下载好的node_modules
  • 删除package-lock.json文件
  • 清除npm缓存 npm cache clean --force
  • npm install

方法二

  • npm cache clean -f
  • npm install -g n --force // 强制安装最新版本的Node helper
  • n stable // 告诉助手(n)安装最新的稳定版Node
  • npm install

方法三

  • npm i // npm install失败,npm i能成功

7. 算了,麻了,重装node吧

这里我是通过nvm管理的node,所以通过以下操作重装node
查看当前使用版本:nvm list install
在这里插入图片描述
那就先切换成16.14.1:nvm use 16.14.1
在这里插入图片描述
卸载14.15.3:nvm uninstall 14.15.3
重装14.15.3:nvm install 14.15.3
在这里插入图片描述
使用14.15.3:nvm use 14.15.3
在这里插入图片描述

注意:可能出现以下两个错误
问题1:其实就是镜像过期了
在这里插入图片描述
解决办法:在settings.txt文件中,添加这两行代理

  • node_mirror: https://npmmirror.com/mirrors/node/
  • npm_mirror: https://npmmirror.com/mirrors/npm/

在这里插入图片描述

问题二:纯纯网络问题,多install几次,直到成功吧
在这里插入图片描述

8. 现在我再来install一下

还是之前的操作,复述一遍,因为好多读者直接看后面的解决方案,不看前面的文案。

  • 删除下载好的node_modules
  • 删除package-lock.json文件
  • 清除npm缓存 npm cache clean --force
  • npm install

很好,没有成功,出现重复的错误,闭环成功!
在这里插入图片描述
说明了什么呢?很可能就不是什么过期不过期的问题。由于我是刚学了几天前端就开始做项目的,所以接下来好好分析一下前端到底怎么使用依赖包的。

9. 分析前端依赖包的流程(package.json与package-lock.json)

package.json与package-lock.json

  • 首先:package.json不会自动生成的,需要执行npm init命令
  • 其次:package-lock.json是自动生成的,当我们使用 npm install 安装包后就会自动生成。

这里就不说什么是依赖包了,主要是说一下npm install的流程。

  1. npm获取完package.json配置文件之后,就会构建依赖树。
  2. 检查项目中是否有 package-lock.json 文件:存在 lock 文件的话,会判断 lock 文件和 package.json 中使用的依赖版本是否一致,如果一致的话就使用 lock 中的信息,反之就会使用 package.json 中的信息;
  3. 那如果没有 lock 文件的话,就会直接使用 package.json 中的信息生成依赖树。

npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
vue文件引入的依赖是从哪里来的
在这里插入图片描述

10. 到现在就是下载不下来,到底是什么问题

关于依赖的知识就先了解到这里,要回到项目本身
我们想想,首先node、npm都是重装了的,但是install就是报错,那么我们就继续分析原因。

  • node是使用依赖包的,先排除了。
  • npm是用来从源下载依赖包的,已经重装,应该没问题。(但不敢确定是不是真的没问题)
  • 依赖包从源拿来的,那么源是不是有些依赖包不存在呢?(这个概率很大)

那么我们就切换回原来的国外npm源

npm config set registry https://registry.npmjs.org

再次install

  • 删除下载好的node_modules
  • 删除package-lock.json文件
  • 清除npm缓存 npm cache clean --force
  • npm install

在这里插入图片描述
还真的成功了。(其实我知道这可能是碰巧,但是我不敢删了重试验证,因为我项目也挺紧的)

11. 最后的杀手锏

如果最后你切换了各种源,install了n次,还是失败,建议直接找其他同事要一个项目使用node_module搞上去。虽然我没试过,但是估计是可以的。

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

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

相关文章

Transformer 自然语言处理(三)

原文:Natural Language Processing with Transformers 译者:飞龙 协议:CC BY-NC-SA 4.0 第八章:使 transformers 在生产中更高效 在之前的章节中,您已经看到了 transformers 如何被微调以在各种任务上产生出色的结果。…

【Mysql】整理

Mysql整理与总结 整理Mysql的基本内容供回顾。 参考: [1]. 掘金.MySQL三大日志(binlog,redolog,undolog)详解 [2]. Javaguide.MySQL三大日志(binlog、redo log和undo log)详解

从一个小故事讲解观察者模式~

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 什么是观察者模式? 观察者模式在我们的日常生活中极其常见。 先来看看观察者模式的定义: 观察者模式定义了对象之间…

MySQL进阶入门指南

文章目录 MySQL如何定位慢查询找到了这个执行慢的SQL语句,如何分析 MySQL的引擎InnoDBMyISAM 索引什么是索引?索引的优缺点索引底层数据结构索引的分类MySQL超大分页怎么处理 什么是最左匹配原则创建索引的原则索引失效的场景 事务什么是事务&#xff1f…

jsp网格环境变化系统Myeclipse开发mysql数据库web结构java编程计算机网页项目百度地图

一、源码特点 JSP 网格环境变化系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

ChatGPT实战100例 - (15) 还不会写 Stable Diffusion (SD) 绘画提示词?没关系,ChatGPT帮你搞定

文章目录 ChatGPT实战100例 - (15) 还不会写 Stable Diffusion (SD) 绘画提示词?没关系,ChatGPT帮你搞定一、把场景描述转为镜头语言二、把镜头语言转换为Prompt三、把Prompt转换为图片 ChatGPT实战100例 - (15) 还不会写 Stable Diffusion (SD) 绘画提示…

利用jmeter完成简单的压力测试

Jmeter是一个非常好用的压力测试工具。Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。 1、什么是压力测试 顾名思义:压力测试,就是 被测试的系统,在一定的访问压…

C++集群聊天服务器 数据模块+业务模块+CMake构建项目 笔记 (上)

跟着施磊老师做C项目,施磊老师_腾讯课堂 (qq.com) 本文在此篇博客的基础上继续实现数据模块和业务模块代码: C集群聊天服务器 网络模块业务模块CMake构建项目 笔记 (上)-CSDN博客https://blog.csdn.net/weixin_41987016/article…

Matplotlib箱形图的绘制与高级技巧解析【第57篇—python:Matplotlib箱形图】

文章目录 Matplotlib箱形图的绘制与高级技巧解析1. 水平箱形图2. 带缺口箱形图3. 群组箱形图4. 堆叠箱形图5. 核密度箱形图6. 小提琴箱形图7. 组合箱形图8. 多子图中的炫酷箱形图9. 动态箱形图与交互式可视化9.1 动态箱形图9.2 交互式小提琴箱形图 总结 Matplotlib箱形图的绘制…

爬虫(二)

1.同步获取短视频 1.只要播放地址对Json数据解析,先把列表找出: 2.只想要所有的播放地址,通过列表表达式循环遍历这个列表拿到每个对象,再从一个个对象里面找到Video,再从Video里面找到播放地址(play_addr),再从播放地址找到播放…

列式数据库、行式数据库简介

列式数据库、行式数据库简介 1、数据准备2、行式数据库3、列式数据库4、行式、列式存储对比 常见的行式数据库有Mysql,DB2,Oracle,Sql-server等;列数据库(Column-Based)数据存储方式按列存储,常…

026 打印三角形及debug

打印三角形 Scanner scanner new Scanner(System.in); System.out.print("请输入要打印的三角形的行数&#xff1a;"); int row scanner.nextInt(); // 这个循环控制三角形的行数 for (int i 1; i < row; i) {// 这个循环控制每行空格的个数for (int space r…

机器学习_无监督学习之聚类

文章目录 介绍机器学习下的分类K均值算法K值的选取:手肘法用聚类辅助理解营销数据贴近项目实战 介绍机器学习下的分类 以下介绍无监督学习之聚类 聚类是最常见的无监督学习算法。人有归纳和总结的能力&#xff0c;机器也有。聚类就是让机器把数据集中的样本按照特征的性质分组&…

PyTorch——初识PyTorch框架

本文主要介绍PyTorch的基础知识&#xff0c;PyTorch的优点&#xff0c;案例&#xff0c;PyTorch和Tensorflow的对比&#xff0c;让我们对PyTorch的框架有一个基本的了解。 1.1 为什么要选择学习PyTorch&#xff08;PyTorch的优点&#xff09;&#xff1f; 活跃度&#xff1a;逐…

[Tomcat问题]--使用Tomcat 10.x部署项目时,出现实例化Servlet类[xxx]异常

[Tomcat问题]–使用Tomcat 10.x部署项目时&#xff0c;出现实例化Servlet类[xxx]异常 本片博文在知乎同步更新 环境 OS: Windows 11 23H2Java Version: java 21.0.1 2023-10-17 LTSIDE: IntelliJ IDEA 2023.3.3Maven: Apache Maven 3.9.6Tomcat: Tomcat 10.1.18 ReleasedSer…

地理空间分析10——空间数据分析中的地理编码与Python

目录 写在开头 1. 地理编码基础1.1 地理编码的基本原理1.1.1 坐标系统1.1.2 地名解析1.1.3 编码算法 1.2 Python中使用地理编码的基础知识1.2.1 百度地图API1.2.2 高德地图API1.2.3 腾讯地图API 1.3 Python中实现代码 2. 逆地理编码2.1 利用Python进行逆地理编码2.1.1 获取高德…

vit细粒度图像分类(十)TransFG学习笔记

1.摘要 细粒度视觉分类(FGVC)是一项非常具有挑战性的任务&#xff0c;它旨在从子类别中识别对象&#xff0c;这是由于类间固有的微妙差异。现有的大部分工作主要是通过重用骨干网络提取检测到的判别区域的特征来解决这一问题。然而&#xff0c;这种策略不可避免地使管道变得复…

计算机软件能力认证考试CCF-202312-1 仓库规划

#自己跑的测试没问题&#xff0c;不知道为啥就是不能满分 原理比较绕&#xff0c;就是让数组中一行不断地与其他行进行比较&#xff0c;最终得到各自的索引 #include <iostream> using namespace std; int main() {int n;int m;cin>>n>>m; int array[n][m];…

【开源】基于JAVA+Vue+SpringBoot的免税店商城管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2 研究方法 三、系统展示四、核心代码4.1 查询免税种类4.2 查询物品档案4.3 新增顾客4.4 新增消费记录4.5 审核免税 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的免税店商城管理系…

新产品!可视化试卷搭建平台

hi, 大家好, 我是徐小夕. 之前和大家分享了很多可视化低代码和零代码的技术实现和产品设计思路, 也和大家分享了 H5-Dooring 零代码搭建平台的技术实现和未来规划, 今天继续和大家分享一下我们的新产品——橙子试卷. 橙子试卷 是一款可视化试卷/问卷搭建平台, 我们可以通过拖拽…