npm:安装和使用不同版本的软件包

时间:2018-12-18 08:20:34

标签: javascript node.js npm install

npm中是否可以安装并使用不同的软件包版本?安装工程:

npm install -g packagename@2.8
npm install -g packagename@3.1
npm install -g packagename@4.0

我可以安装npm install -g web3@0.20.7并检查npm view web3 versions。但是如何在*.js脚本中使用?像这样:

require('packagename@2.8');
require('packagename@3.1');
require('packagename@4.0'); 

2 个答案:

答案 0 :(得分:1)

有一个节点模块允许您执行此操作。

npm-install-version

安装:npm install npm-install-version --save-dev

var niv = require('npm-install-version');

niv.install('packagenameolder@1.0.0');
niv.install('packagenamenewer@1.0.1');

var package_old = niv.require('packagenameolder@1.0.0');
var package_new = niv.require('packagenamenewer@1.0.1');

答案 1 :(得分:1)

我做了一些研究,看来使用标准NPM是不可能的。这是功能请求:https://github.com/npm/npm/issues/5499

但是,使用yarn(来自Facebook的NPM替代品),您可以通过使用yarn add并为软件包提供alias来立即使用它。

尽管我尚未尝试对全局安装的软件包进行此操作,但我认为它的工作原理相同。