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

昨天发的 npm 包,却因为 registry 同步问题无法安装使用

用过 HBuilderX 云打包的都知道,云上面的 Android 环境很有限,其实并不能覆盖 uniapp 生态所有的版本,甚至说只能覆盖最新的一两个版本。

如果你需要用到 HBuilderX 安卓云打包,就必须及时跟进 HBuilderX 的版本更新,否则可能会因为编译时和运行时版本不一致而在APP运行时爆出提示,如果这个提示被用户看见,那就有点尴尬。

但有时候我们也不想一直跟进最新的版本,此时只能基于 uniapp 提供的 SDK 自行搭建安卓离线打包环境(这不是本文关注的内容)。

今天是 2023年8月18日,打开 HBuilderX 时提示我更新 3.8.12.20230817 版本,我没有犹豫先进行了更新。

当我打开另一个通过 cli 方式安装 uniapp 开发环境的项目时,则需要通过npx @dcloudio/uvm更新相关编译和运行时环境。因为 cli 方式的项目,它的编译器是跟着项目走的,而不是采用 HBuilderX 内置的编译器。

但是当我执行npx @dcloudio/uvm命令时,报错了。

Invalid version: 3.8.12.20230817

于是我先找到@dcloudio/uvm中的version.js相关源码查看,发现它的基本更新步骤是:

  1. 默认情况,优先去分析 HBuilderX 官方的一个版本号相关的 json 文件,拿到最新的版本号。

  1. 然后去 registry fetch 相关包的信息。

  1. 根据自定义的一些规则去匹配版本号,找到相关的 npm 包的具体版本再下载。

分析了基本过程,再考虑问题是:

Invalid version: 3.8.12.20230817

那么关键点肯定是没找到这个版本号对应的某些 npm 包的版本。

我首先确定了一下@dcloudio/uvm采用的 registry,默认是 cnpm,也就是国内的 npmmirror。

debug 后发现 npm 找不到其中一个包@dcloudio/vue-cli-plugin-uni的最新版本:

No matching version found for @dcloudio/vue-cli-plugin-uni@2.0.2-3081220230817001

于是我到 npm 核实了一下,这个包的2.0.2-3081220230817001版本实际上是存在的。

那么是哪里出了问题呢?我想大概率是 registry 的问题,在国内环境,我们通常会用到 npmmirror,如果镜像站和源站的资源信息不同步,就有可能会出现这个问题。

我们发布 npm 包,都是发布到registry.npmjs.org。而为了快速下载安装 npm 包,我们又会选择使用registry.npmmirror.com。所以今天遇到的问题是由于两个 registry 不同步导致的。

我们找到 npmmirror 镜像站,发现它提供了一个同步按钮,这真的是太棒了。否则大概率只能焦急地等待镜像站在某个时间点触发同步操作;或者考虑更换 registry,那么 lock 文件也得变,风险太大。

点击这个同步按钮则会从 npmjs 源站进行同步,几分钟后问题就得到了解决。

以上问题,特此记录。

相关文章:

昨天发的 npm 包,却因为 registry 同步问题无法安装使用

用过 HBuilderX 云打包的都知道,云上面的 Android 环境很有限,其实并不能覆盖 uniapp 生态所有的版本,甚至说只能覆盖最新的一两个版本。 如果你需要用到 HBuilderX 安卓云打包,就必须及时跟进 HBuilderX 的版本更新,…...

Redis 数据恢复及持久化策略分析

在分布式系统中,Redis作为高性能的键值存储数据库,广泛应用于缓存、会话管理、消息队列等场景。对于Redis数据的可靠性,持久化是至关重要的一环。当Redis宕机时,如何恢复数据成为一个关键问题。这篇文章将详细分析Redis的数据恢复…...

vscode 快捷键侧边栏

_____ 配置 vscode 快捷键 visual studio code - open explorer and close sidebar with the same key - Stack Overflow { "key": "ctrlshifte", // when Explorer not open // "command": "workbench.view.explorer", // either…...

FreeRTOS:1、任务通知vTaskNotifyGiveFromISR保证实时性

文章目录 背景解释意义 背景 首先,我们看以下代码: #include "FreeRTOS.h" #include "task.h"TaskHandle_t s_task_handle NULL;void vTaskFunction(void *pvParameters) {for (;;) {// 等待通知ulTaskNotifyTake(pdTRUE, portMA…...

监督学习:从数据中学习预测模型的艺术与科学

目录 引言 一、监督学习的基本概念 1、数据集 2、特征 3、标签 4、模型 二、监督学习的原理和方法 1、基本原理 2、常用方法 三、监督学习的定义与分类 1、 定义 2.、分类 四、为什么是监督学习? 1、 明确的学习目标 2、高准确率 3、易于评估 4、 …...

深入理解Java虚拟机(JVM)中的垃圾回收器

垃圾回收(Garbage Collection, GC)是现代编程语言中用于管理内存的重要机制,特别是在Java虚拟机(JVM)中。 它的基本原理是自动检测和释放不再被程序使用的内存,以避免内存泄漏和提高程序执行效率。 1.GC的基…...

视频集市新增支持多格式流媒体拉流预览

流媒体除了常用实时流外还有大部分是以文件的形式存在,做融合预览必须要考虑多种兼容性能力,借用现有的ffmpeg生态可以迅速实现多种格式的支持,现在我们将按需拉流预览功能进行了拓展,正式支持了ffmpeg的功能,可快捷方…...

定时器-前端使用定时器3s轮询状态接口,2min为接口超时

背景 众所周知,后端是处理不了复杂的任务的,所以经过人家的技术讨论之后,把业务放在前端来实现。记录一下这次的离大谱需求吧。 如图所示,这个页面有5个列表,默认加载计划列表。但是由于后端的种种原因,这…...

python实践笔记(二): 类和对象

1. 写在前面 最近在重构之前的后端代码,借着这个机会又重新补充了关于python的一些知识, 学习到了一些高效编写代码的方法和心得,比如构建大项目来讲,要明确捕捉异常机制的重要性, 学会使用try...except..finally&…...

指定GPU跑模型

加上一个CUDA_VISIBLE_DEVICES0,2就行了,使用0卡和2卡跑模型,注意多卡有时候比单卡慢,4090无NVlink,数据似乎是通过串行的方式传输到多个gpu的,只不过单个gpu是并行计算,数据在gpu与gpu之间似乎是串行传输的…...

Windows桌面运维----第五天

1、华为路由怎们配置IP、划分vlan、互通: 1、用户模式→系统模式; 2、进入相关端口,配置IP地址; 3、开通相应vlan,设置vlanX、IP地址; 4、绑定相关端口,设置端口类型; 5、电脑设置IP&#…...

bash和dash的区别(及示例)

什么是bash、dash Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等。 GNU/Linux 操作系统中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符号链接&#xff0…...

Java基础入门day65

day65 web项目 页面设计 仿照小米官网&#xff0c;将首页保存到本地为一个html页面&#xff0c;再将html页面保存为jsp页面&#xff0c;在项目中的web.xml文件中配置了欢迎页 <welcome-file-list><welcome-file>TypesServlet</welcome-file> </welcome-…...

解密制度的规定和解密工作的具体流程

解密制度是指对于某些敏感的文件或资料,经过一定的时间后,根据相关规定和程序,可以进行解密,解除文件的保密状态,使其可以被公众查阅或利用。解密制度的目的在于确保涉密信息的保密等级与其重要程度相适应,防止涉密信息的泄露和使用不当,同时促进信息公开、传播历史知识…...

实际中常用的网络相关命令

一、ping命令 ping是个使用频率极高的实用程序&#xff0c;主要用于确定网络的连通性。这对确定网络是否正确连接&#xff0c;以及网络连接的状况十分有用。 简单的说&#xff0c;ping就是一个测试程序&#xff0c;如果ping运行正确&#xff0c;大体上就可以排除网络访问层、网…...

机器学习补充

一、数据抽样 数据预处理阶段&#xff1a;对数据集进行抽样可以帮助减少数据量&#xff0c;加快模型训练的速度/减少计算资源的消耗&#xff0c;特别是当数据集非常庞大时&#xff0c;比如设置sample_rate0.8.平衡数据集&#xff1a;通过抽样平衡正负样本&#xff0c;提升模型…...

机器学习——RNN、LSTM

RNN 特点&#xff1a;输入层是层层相关联的&#xff0c;输入包括上一个隐藏层的输出h1和外界输入x2&#xff0c;然后融合一个张量&#xff0c;通过全连接得到h2&#xff0c;重复 优点&#xff1a;结构简单&#xff0c;参数总量少&#xff0c;在短序列任务上性能好 缺点&#x…...

Java项目学习(员工管理)

新增、员工列表、编辑员工整体代码流程与登录基本一致。 1、新增员工 RestController RequestMapping("/admin/employee")EmployeeController 类中使用了注解 RestController 用于构建 RESTful 风格的 API&#xff0c;其中每个方法的返回值会直接序列化为 JSON 或…...

视觉SLAM14精讲——相机与图像3.3

视觉SLAM14精讲 三维空间刚体运动1.0三维空间刚体运动1.1三维空间刚体运动1.2李群与李代数2.1相机与图像3.1相机与图像3.2 视觉SLAM14精讲——相机与图像3.3 视觉SLAM14精讲相机投影流程双目相机模型 相机投影流程 至此&#xff0c;有关相机三维刚体变换的所有因素已经汇集。…...

【路径规划】基于粒子群结合遗传算法实现机器人栅格地图路径规划

研究方法: 基于粒子群优化算法结合遗传算法的机器人栅格地图路径规划是一种智能算法的应用。它将粒子群优化算法和遗传算法相结合,以寻找最优路径规划解决方案。 研究路线: 理论研究:了解粒子群优化算法和遗传算法的基本原理,并掌握相关的路径规划理论知识。 算法设计:…...

内容安全复习 9 - 身份认证系统攻击与防御

文章目录 基于生物特征的身份认证系统概述基于生物特征的身份认证 人脸活体检测检测方法未解决问题 基于生物特征的身份认证系统概述 作用&#xff1a;判别用户的身份、保障信息系统安全。 是识别操作者身份的过程&#xff0c;要保证其**物理身份&#xff08;现实&#xff0…...

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建 软件版本一、软件安装1、Python安装2、Pycharm安装3、pyside6或pyqt6安装①安装pyside6②安装PyQt6和pyqt6-tools二、Pycharm项目配置1、插件安装2、新建项目以及环境配置3、包管理安装三、在Pycharm中配置PySide61、pyside6 Qt…...

大数据开发语言Scala入门 ,如何入门?

Ai文章推荐 1 作为程序员&#xff0c;开发用过最好用的AI工具有哪些&#xff1f; 2 Github Copilot正版的激活成功&#xff0c;终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手&#xff0c;帮助你提高写代码效率 5 Jetbrains的…...

【人机交互 复习】第1章 人机交互概述

人机交互的知识点碎&#xff0c;而且都是文字&#xff0c;过一遍脑子里什么都留不下&#xff0c;但是背时间已经来不及了&#xff0c;最好还是找题要题感吧&#xff0c;加深印象才是做对文科的关键 一、概念 1.人机交互&#xff08;Human-Computer Interaction,HCI)&#xff1…...

HCIP-HarmonyOS Device Developer 课程大纲

一&#xff1a;系统及应用场景介绍 1 -&#xff08;3 课时&#xff09; - HarmonyOS 系统介绍&#xff1b;HarmonyOs 定义&#xff1b;HarmonyOS 特征&#xff1b; - 统一 OS&#xff0c;弹性部署&#xff1b;硬件互助&#xff0c;资源共享&#xff1b;一次开发&#xff0c;多…...

蓝桥杯 经典算法题 查找两个总和为特定值的索引

题目&#xff1a; 给定一个数组&#xff0c;找到两个总和为特定值的索引。 例如给定数组 [1, 2, 3, -2, 5, 7]&#xff0c;给定总和 7&#xff0c;则返回索引 [1, 4]。 若有多组符合情况则输出索引对中小索引最小的一组。 题解: 本题可以通过暴力枚举&#xff0c;枚举每两…...

Java | Leetcode Java题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; class Solution {public int majorityElement(int[] nums) {int count 0;Integer candidate null;for (int num : nums) {if (count 0) {candidate num;}count (num candidate) ? 1 : -1;}return candidate;} }...

十大机器学习算法深入浅出

本栏目涉及对于回归算法、聚类算法、决策树、随机森林、神经网络、贝叶斯算法、支持向量机等十大机器学习算法的笔记 下面是笔记大纲&#xff0c;具体内容可查看**“十大机器学习算法深入浅出”**专栏&#xff0c;内容持续更新&#xff0c;欢迎订阅专栏和专注我&#xff01; 1…...

【论文笔记】Parameter-Effificient Transfer Learning for NLP

题目:Parameter-Effificient Transfer Learning for NLP 阅读 文章目录 0.摘要1.引言2 Adapter tuning for NLP3 实验3.1 参数/性能平衡3.2 讨论 4.相关工作 0.摘要 克服微调训练不高效的问题&#xff0c;增加一些adapter模块&#xff0c;思想就是固定原始的网络中的参数&…...

Qt异常处理

初步警告:异常安全功能不完整!一般情况下应该可以工作&#xff0c;但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外&#xff0c;有些类有用户可见的错误消息&#xff0c;例如QIODevice::errorString()或QSqlQuery::lastError()。这…...

网站建设开发教程视频/抖音代运营大概多少钱一个月

Win10我的电脑怎么放在桌面上?Win10桌面显示我的电脑方法图解Win10我的电脑怎么放在桌面上?Win10桌面显示我的电脑方法图解 随着Win10正式发布&#xff0c;如今很多电脑爱好者朋友都下载安装了最新的Win10预览版&#xff0c;不过Win10系统令不少小白用户摸不着头脑&#xff0…...

备案网站内容怎么写/营销软文500字范文

iOS真机效果Android真机效果介绍本编文章分为3节&#xff0c;第1节是介绍怎么在Xamarin.Forms使用字体文件&#xff0c;第2节是介绍怎样找出字体文件的别名&#xff0c;第3节是对比以前使用Xamarin.Forms用字体文件的方式。Part 1 Xamarin.Forms使用字体文件导入字体图标文件到…...

招聘做网站专业人员/网站查询网

1.MessageBoxIcon.Exclamation 对话框设置为显示“惊叹号”图标&#xff08;黄色三角形里面有一个感叹号&#xff09; MessageBoxIcon.Information 弹出的消息框会有一个含感叹号的图标 2.MessageBoxButtons.OK //MessageBoxButtons.OK 按钮默认为“确定”“是”、…...

如何创建自己的网站平台免费/百度指数的网址是什么

AIGC是什么 AIGC - AI Generated Content &#xff08;AI生成内容&#xff09;&#xff0c;对应我们的过去的主要是 UGC&#xff08;User Generated Content&#xff09;和 PGC&#xff08;Professional user Generated Content&#xff09;。 AIGC就是说所有输出内容是通过AI机…...

设计网站横幅/网站建设费用都选网络

具体操作如下1. 关闭正在运行的 MySQL。2. 打开 DOS 窗口&#xff0c;转到mysql\bin目录。3. 输入mysqld --skip-grant-tables回车。如果没有出现提示信息&#xff0c;那就对了。如果指令没有阻塞输入或者 tasklist 无 mysqld 进程&#xff0c;这说明不成功&#xff0c;用 3.1 …...

做外贸用什么视频网站/网络优化大师app

概述 向指定的表格中插入一条新数据。 当表格中已存在相同Key的数据时&#xff0c;数据将插入失败。 示例代码 同步调用参见章节&#xff1a;[Generic表]插入数据示例代码。 异步调用参见章节&#xff1a;异步调用接口示例代码。 Request对象方法说明 注&#xff1a;如有…...