使用npm安装同一个包的多个版本

安装

有时候,我们需要安装同一个包的多个版本,这时,安装的方式如下:

1
2
yarn add pkg@version
yarn add pkg-alias@npm:pkg[@version]

例如,如果我要同时安装eosjs的16.08版本和最新版本(20.0.0),命令如下:

1
2
yarn add eosjs@16.0.8
yarn add eosjs20@npm:eosjs // 由于最新版本就是20.0.0,这里不需要指定版本号

安装后,在node_modules目录下,有这么两个目录:

eosjs,这个目录下是eosjs 16.0.8版本;

eosjs20,这个目录下是eosjs 20.0.0版本

引用

引用方式如下:

1
2
import Eos from 'eosjs';  // 引用eosjs 16.0.8版本
import {Api, Rpc} from 'eosjs20'; // 引用eosjs 20.0.0版本,这里的包名就是安装时的别名

参考资料

https://yarnpkg.com/lang/en/docs/cli/add/

yarn add @npm:
This will install a package under a custom alias. Aliasing, allows multiple versions of the same dependency to be installed, each referenced via the alias-package name given. For example, yarn add my-foo@npm:foo will install the package foo (at the latest version) in your dependencies under the specified alias my-foo. Also, yarn add my-foo@npm:foo@1.0.1 allows a specific version of foo to be installed.