为何在 node 项目中使用固定版本号,而不使用 ~、^?

2023-05-16

以语雀 文档为准

  1. 使用 ~、^ 时吃过亏
  2. 希望版本号掌握在自己手里,作者自己升级(跟随官方进行升级,就算麻烦作者,也不想麻烦使用者)
  3. 虽然 pnpm 很好用,但是不希望在项目中用到(临时性解决问题可以选择),原因是:
    1. 希望依赖控制掌握在自己手里
    2. 遇见依赖问题就直接去解决,而不是寻求工具的帮助,如果这类问题多了,就像滚雪球一样,有一天工具解决不了了,那麻烦就打了。
  4. 举例:
    如果使用 ~、^,可能在你开发、测试时全都是正常的,但是在你重新检查项目安装依赖前、部署前,依赖发布了新版,出现下列情况时,将运行/发布失败,造成事故。
    如果你没遇见过,那只能代表你比较幸运,但幸运并不时刻伴随你~
    1. axios 从 1.2.1 升级到 1.2.5 时,AxiosRequestConfig 改名为 InternalAxiosRequestConfig,导致项目无法运行,参见提交记录:https://gitee.com/xuxiaowei-cloud/xuxiaowei-cloud/commit/64117ef0b17ca64001f6e90e506285e15686d801
    2. element-plus 从 2.2.16 升级到 2.2.18 时,TabPanelName 改名为 TabPaneName,导致项目无法运行,参见提交记录:https://gitee.com/xuxiaowei-cloud/xuxiaowei-cloud/commit/0636daef59f2b4434677dd8708cc9479e7e1d2f2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为何在 node 项目中使用固定版本号,而不使用 ~、^? 的相关文章

  • Centos7部署Vue项目

    一 安装docker 1 安装依赖包 sudo yum install y yum utils device mapper persistent data lvm2 2 设置阿里云镜像源 sudo yum config manager ad
  • node.js HTTP模块 URL模块 supervisor工具

    在vscode 上安装一个插件 Node Snippets 创建一个js文件 直接输入node 就能创建一个服务器 node http server var http require http 表示引入一个HTTP模块 request 表示
  • Node.js中的断言处理

    在Node js中 可以利用assert模块进行断言处理 即书写一些判断用测试代码 如果判断结果为假 则抛出AssertionError异常 判断两个值是否相等 assert equal actual expected message ac
  • ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies

    ERR PNPM PEER DEP ISSUES 错误 两种解决方式 解决方式 方式一 忽略错误 项目根目录下 npmrc 中添加 strict peer dependencies false 方式二 自动安装对等依赖 项目根目录下 npm
  • 编译opencv.js

    opencv 支持编译多个平台 其中还支持JavaScript 不过编译需要emscripten 编译环境 centos7 Python2 7 1 下载OpenCV源码 官网 https opencv org releases 例如下载4
  • Node.js 下载安装环境配置 - 图文版

    Node js 是一个开源 跨平台的 JavaScript 运行时环境 一 介绍 1 官方文档 1 中文文档 Node js 中文网 2 英文文档 Node js 二 下载 1 中文 2 英文 编辑三 安装 1 新建一个文件夹作为安装路径
  • node写可选参数接口

    个人网站 紫陌 笔记分享网 想寻找共同学习交流 共同成长的伙伴 请点击 前端学习交流群 今天写项目接口看到接口文档要求带四个参数两个参数必选两个可选 当时在想可选参数要怎么做 毕竟自己也没有写过 然后想了一天终于想出一个感觉不是最佳的方案
  • 前端页面生成PDF方案之puppetter

    1 新建一个文件夹 例如 test 2 新建一个js文件 例如test js 3 进入test文件夹 在该目录下运行命令行 并执行下面命令 npm init 4 运行命令安装 npm i puppetter 5 编辑test js cons
  • node request 解决请求时 有时候 content-length 获取不到

    今天使用了 request 模块的时候 想获取每次请求的大小 以方便判断下载进度 网速等等 然后 content length 头总是获取不到 下面给出解决方法 request 模块的使用方法见 api 文档 https github co
  • Node =》 nodemon

    在编写调试Node js的时候 如果修改了项目的代码 则需要频繁的手动close掉 然后再重新启动 非常频繁 现在可通过nodemon这个工具 能够监听项目文件的变动 当代码被修改后 nodemon会帮我们重新启动项目 极大方便了开发和调试
  • nodejs 控制台美化 console-color-mr

    console color mr插件可以让node控制台输出带有颜色 是一个不错的插件 通过颜色可以更直观的分析程序bug 一 使用 npm install D console color mr 方法一 import console col
  • npm、yarn、pnpm如何清除缓存?

    前端工程化创建项目会经常使用各种安装包管理工具 安装各种前端依赖包 例如 npm yarn pnpm等 时间一长 各种安装包管理工具的在安装依赖时 留下的缓存文件就会变得很大 以至于影响系统的运行 因此必要时清除缓存就是一个不错的选择 本文
  • Express初学之入门

    1 Express简介 基于Node的极简MVC框架 提供灵活的路由功能 提供强大的中间件机制 内核极小 扩展性很好 使用广泛 2 路由机制 Express概念 定义了Api的地址 请求 响应方式 方法 天然支持HTTP Method 中的
  • node socket 简易聊天室

    服务端 const net require net const server net createServer 用户列表 let clients 监听连接 server on connection client gt client on d
  • 【node】12、Koa实现简单爬虫案例

    效果图如下 首先我们新建文件夹 进入终端 初始化node项目 npm init y 安装koa搭建服务模块 npm install koa 安装superagent发送请求模块 npm install superagent 安装cheeri
  • 解决node.js+MYSQL读/写date类型数据有异样,且相差8个小时的问题

    既将读 写格式为 2021 05 04T16 00 00 000Z 的数据 转换为本地日期时间 2021 05 05 格式 一 读取异样处理 例如 在数据库中date类型数据原本为 2021 05 05 但是直接打印出来确是下面这样 dat
  • web3无法在浏览器远程调用miner.start()

    原文 https bitshuo com topic 58841835fd9ca2790427eb67 web3无法在浏览器远程调用miner start 首先我在启动私链时已经调用了miner模块 代码如下 geth identity s
  • Nodejs版本管理工具mvn部署

    部署mvn curl o https raw githubusercontent com creationix nvm v0 34 0 install sh bash 添加环境变量 vim zshrc export NVM DIR HOME
  • Node.js爬虫实战:搜狗图片爬取

    说在前面 当我们在网上寻找图片时 经常会遇到需要批量下载搜索结果中的图片的情况 而搜狗作为中国颇具影响力的搜索引擎之一 其图片搜索功能提供了丰富多样的图片资源 在这种情况下 我们希望能够通过编程的方式 批量下载搜狗图片搜索结果中的图片 以便
  • Node.js爬虫实战:百度图片爬取

    说在前面 网络爬虫是一种自动化工具 能够模拟人类在互联网上浏览和提取信息的行为 它的应用范围广泛 包括数据采集 信息监控 搜索引擎优化等方面 而在数据抓取和处理中 获取图片资源往往是一个常见的需求 本文将介绍如何使用Node js和相关库构

随机推荐

  • 私库搭建6:yum 私库 自定义配置

    本文内容以语雀为准 点击创建私库 xff1a 3 4 5 6 7 备份原有yum源 xff0c yum 源文件夹为 etc yum repos d CentOS 系统默认yum源的文件名为 CentOS repo span class to
  • 离线安装4:kubernetes(k8s)离线安装

    本文内容以语雀为准 说明 本文以 CentOS 7 9 最小化安装 kubernetes xff08 k8s xff09 1 25 3 为例 xff08 其他 CentOS k8s 版本类似 xff09 xff0c 离线包 xff08 免费
  • 疑难 1、龙蜥Anolis系统如何安装GitLab

    本文内容以语雀为准 说明与文档 龙蜥官网 xff1a https openanolis cn 龙蜥Anolis系统是阿里云团队开发龙蜥Anolis系统与CentOS软件生态兼容GitLab EE 企业版安装 rpm 说明 xff1a htt
  • 疑难 2、龙蜥Anolis系统如何安装GItLab Runner

    本文内容以语雀为准 说明 原理参见上文龙蜥Anolis系统如何安装GitLab本文以 Anolis 8为例进行说明 xff08 如果使用的是 Anolis 7 xff0c 需要将下方链接中的参数8改为7 xff09 安装 尝试获取结果 使用
  • 疑难 3:GitLab Runner CI/CD 在 CentOS/Anolis 中使用 shell 执行器时,出现:fatal: git fetch-pack: expected shallow l

    疑难 3 xff1a GitLab Runner CI CD 在 CentOS Anolis 中使用 shell 执行器时 xff0c 出现 xff1a fatal git fetch pack expected shallow list
  • kubernetes(k8s)高可用集群:导读

    本文内容以语雀为准 Master xff08 Control Plane xff09 的 kube apiserver kube controller manager kube scheduler 服务至少有3个节点Master xff08
  • 附录8:批量删除 k8s(ctr)使用的历史镜像

    以语雀文档为准 说明 以 k8s 使用 containerd 为例k8s 滚动发布时 xff0c 一般采用改动镜像ID xff0c 比如 xff1a 某个镜像 xff0c 首次发布的时候是 0 0 1 SNAPSHOT xff0c 第一次更
  • 附录7:CentOS MySQL 安装

    以语雀 文档为准 安装镜像源 CentOS 7 CentOS 8 MySQL 5 7 yum y install http repo mysql com mysql57 community release el7 rpm 官方未提供 xff
  • 附录6、Ubuntu 乌班图 源码编译 异常处理

    以语雀 文档为准 异常 error C compiler cc is not found 解决 xff1a span class token function sudo span span class token function apt
  • 附录5:CentOS、Anolis 龙蜥 源码编译 异常处理

    以语雀 文档为准 异常 xff1a bin sh cc span class token builtin class name command span not found 解决 xff1a yum y span class token f
  • 关于angularJS绑定数据时自动转义html标签

    对于前后台分离开发 xff0c 在使用angular为开发框架的时候 xff0c 如果后台在返回数据的时候包含html格式的数据 xff0c angularJS在进行数据绑定时默认是会以文本的形式输出 xff0c 也就是对你数据中的html
  • 附录1:配置 containerd 加速

    以语雀 文档为准 说明 不推荐在 k8s 网络配置前加速 xff0c 可能会导致无法拉取镜像 xff08 原因可能是镜像的原因 xff0c 或者是配置的原因 xff0c 可以考虑事先或报错时手动拉取镜像 xff09 安装 span clas
  • 附录2:CentOS 下载

    以语雀 文档为准 视频演示 点击查看 bilibili CentOS Vault Mirror CentOS 7 8 最新版 xff08 含各大云厂商的镜像 xff09 CentOS 7 http isoredirect centos or
  • 附录3:Anolis 龙蜥 下载

    以语雀 文档为准 视频演示 点击查看 bilibili 官网 xff1a https openanolis cn 7 7 正式版 https mirrors openanolis cn anolis 7 7 isos GA x86 64 7
  • 附录4:Ubuntu 乌班图 下载

    以语雀 文档为准 https releases ubuntu com https old releases ubuntu com releases 版本号 版本代号 下载地址 14 04 5 Trusty Tahr https old re
  • 小工具1:tcping

    以语雀 文档为准 说明 tcping exe 是一个控制台应用程序 xff0c 其操作类似于 ping xff0c 但它在tcp端口上工作 在 Windows 上要查看指定 IP 端口 是否连通 xff0c 通常要使用 telnet xff
  • 小工具2:Windows curl.exe

    以语雀 文档为准 GitHub 仓库 xff1a https github com curl curlGitHub 仓库 Windows 版 xff1a https github com curl curl for win下载页面 xff1
  • 小工具3:Windows tail.exe

    以语雀 文档为准 文件 xff1a tail zip xff0c 文件来源于网络 xff0c 用于实时查看文件内容 xff0c 与 Linux 的 tail 有相同的用法 下载上述文件 xff0c 解压 xff0c 将 tail exe 放
  • 小工具4:Windows cports.exe

    以语雀 文档为准 文件 cports zip xff0c 文件来源于网络 xff0c 用于实时查看端口占用情况 xff0c 使用管理员权限运行时 xff0c 可杀端口 下载上述文件 xff0c 解压 xff0c 将 cports exe 放
  • 为何在 node 项目中使用固定版本号,而不使用 ~、^?

    以语雀 文档为准 使用 时吃过亏希望版本号掌握在自己手里 xff0c 作者自己升级 xff08 跟随官方进行升级 xff0c 就算麻烦作者 xff0c 也不想麻烦使用者 xff09 虽然 pnpm 很好用 xff0c 但是不希望在项目中用到