npm 同时安装同一个包的不同版本(npm@6.9 alias)
npm 无法同时安装同一个 package 的不同版本,以往遇到这种需求的时候,我的办法是自己新建一个包,然后在新建的包里安装目标包的一个版本,然后暴露出去。这样,项目就可以依赖新建的包和另一个版本,实现同时依赖两个版本的目的。
在 npm 6.9 以后,npm 可以为安装的包使用别名,可以近乎完美地解决这个问题了。elasticsearch-js
项目有一段详细说明如何使用,我把这一段翻译了一下。
同时使用多个版本
如果你同时使用多个版本的 Elasticsearch, 你需要使用对应的多个客户端。同时安装同一个包的多个版本在以前是不可能的,但是 npm 6.9
以后,你可以用别名达到目的。
安装不同版本的客户端你必须运行以下命令:
npm install <alias>@npm:@elastic/elasticsearch@<version>
比方说要同时安装 7.x
和 6.x
, 运行以下命令
npm install es6@npm:@elastic/elasticsearch@6
npm install es7@npm:@elastic/elasticsearch@7
package.json
文件就会多出下面的两行:
"dependencies": {"es6": "npm:@elastic/elasticsearch@6.7.0","es7": "npm:@elastic/elasticsearch@7.0.0"
}
在代码中将刚刚定义的别名 require
进来。
const {Client: Client6} = require('es6')
const {Client: Client7} = require('es7')const client6 = new Client6({node: 'http://localhost:9200'})
const client7 = new Client7({node: 'http://localhost:9201'})client6.info(console.log)
client7.info(console.log)
最后,如果你想使用下一版本 Elasticsearch(即 Elasticsearch 的 master 分支) 的客户端,你可以运行下面的命令:
npm install esmaster@github:elastic/elasticsearch-js
补充
由上文的最后一条命令可看出,别名不局限于从 npm 下载的包。从 github 或者其它自定义 git 地址下载的包也可以使用别名。npm 如何安装其它来源的包可以参照官方文档
https://wpchou.github.io/2019/11/21/npm-install-multiple-versions-of-same-package.html
npm 同时安装同一个包的不同版本(npm@6.9 alias)相关推荐
- npm命令--安装依赖包--用法/详解
原文网址:npm命令--安装依赖包--用法/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍npm如何安装依赖包. 用法 命令 作用 详述 npm install <pkg> //同 ...
- Pip/python-如何查看已安装的包有哪些版本?如何查看某个包存在哪些版本?pip list-pip freeze-pip show package
目录 一.如何查看已安装的包有哪些版本? 1.在terminal终端模式或者cmd命令行模式下 1.1显示所有包pip list和pip freeze 1.2显示指定包findstr.show..__ ...
- Node.js 官网入门教程(二) npm(安装、包版本、卸载、npx)、package.json(scripts、devDependencies)package-lock.json(语义版本规则符号
Node.js 官网入门教程(二) npm(包管理.安装.包版本.卸载.npx).package.json(scripts.devDependencies).package-lock.json(语义版 ...
- 使用npm更新所有依赖包到最新版本
本篇文章参考文章 - npm包之npm-check-updates 文章目录 npm-check-updates 背景交代 npm-check-updates 一键升级所有依赖的插件为 npm-c ...
- 安装第三方包查看python版本/第三方包版本
安装第三方包时,经常需要查看python版本,以及是否安装第三方包及版本,每次都要百度下指令. 故小编整理了下安装/卸载第三方包,查看python/第三包的指令,具体如下: 一.python安装/卸载 ...
- pip 查看要安装的包的所有版本的方法
以Django为例 pip install django== 然后回车即可
- NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略
NPM:nodejs官方包管理工具的简介.安装.使用方法之详细攻略 目录 NPM之nodejs官方包管理工具的简介 NPM之nodejs官方包管理工具的安装 NPM之nodejs官方包管理工具的使用方 ...
- python安装卸载及查看python版本/第三方包版本
文章目录 1. 在线安装anaconda anaconda下载安装 在线安装第三方库 python 常用第三方包镜像安装 2. 离线安装anaconda 离线安装包下载网址 whl 离线安装 tar ...
- npm更新依赖包到最新版本
更新依赖包到最新版本 npm install 依赖包名称@latest -D 查看最新版本 npm info 依赖包名称 version(查看当前最新版本) npm info 依赖包名称 versio ...
- 包管理工具,npm、yarn、pnpm
1.包管理工具概述 本门课程的前置知识:JavaScript.ES6.模块化.git 本门课程的所有代码均书写在 nodejs 环境中,不涉及浏览器环境 概念 模块(module) 通常以单个文件形式 ...
最新文章
- c语言代码,输入两个数,输出第一个数到第二个数之间所有的数
- 【转】WPF中关于样式和模板的区别
- idea插件导出_Intellij IDEA 中我一直在用的几个插件
- fastnest怎么一键排版_FastNEST数控编程组合排版与技巧探讨
- java calendar类_Java世界最常用的工具类库
- C++::My Effective C++
- 【2022年江西省研究生数学建模】水汽过饱和的核化除霾 31页论文分析
- vs2008 成功编译 easyMule VeryCd V1.1.13
- 2020,咋赚钱?|【常垒·常识】
- 每天学点统计学——指数
- 加法器verilog
- 基于强化学习工具箱的自适应巡航控制系统
- ad room 拷贝
- 如何精确计算 LoRaWAN 终端电池寿命
- (转)《达·芬奇密码》解读解密
- 24、抽象方法和抽象类的写法
- html vw选择器,使用vw、vh的使用教程
- python 计算灰度共生矩阵
- python编写语法解析器_SLR语法分析器 python实现
- 手游 自建服务器,英灵神殿自己搭建服务器怎么弄
热门文章
- 相机取相,如何给类似圆柱的侧面打光均匀
- 三人行新解:前辈、平辈和后辈
- H264码流中NALU sps pps IDR帧的理解
- html5 footer header,W3C HTML5标准阅读笔记 – header、footer、main、address
- NPOI导出Word并插入表格和图片
- QNX Hypervisor —— 基于优先级的调度
- 我是如何一步步获取房东的WiFi后台管理密码的【社工思路】
- ERROR: configuration failed for package ‘stringi’
- LeetCode-Hot100-两数相加
- vue基于file-saver处理二进制文件流,导出文件