npm - 如何使用 npm 安装多个版本的包

标签 npm package

由于 https://github.com/npm/npm/issues/2943 ,npm 永远不会支持别名包和安装同一包的多个版本的功能。

github问题上发布的解决方法可能适用于纯JS模块,但随着npm成为前端包管理的标准,包现在包含各种 Assets ,例如CSS。

是否有任何解决方法可以安装同一软件包的多个版本?

我想到的最好的想法是“克隆”一个包,并使用稍微不同的名称来发布它。

例如,如果您需要多个版本的 jquery,您只需发布名为 jquery-alias1jquery-alias2jquery-alias3 等,然后在 package.json 中设置适当的版本。

或者您可以根据版本号命名软件包,例如 jquery-1.11.xjquery-2.1.x 等。

但这两种方法看起来都很草率。还有更好的吗?

最佳答案

npm 从 v6.9.0 开始支持包别名。它实现了the same syntax as Yarn :

npm install jquery2@npm:jquery@2
npm install jquery3@npm:jquery@3

这会将以下内容添加到package.json:

"dependencies": {
   "jquery2": "npm:jquery@^2.2.4",
   "jquery3": "npm:jquery@^3.4.1"
}

也可以直接从 GitHub 安装。例如,如果您想要安装 npm 注册表版本和包 foobar 的 GitHub 分支:

npm install foobar
npm install foobar-fork@github:username/foobar

关于npm - 如何使用 npm 安装多个版本的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414587/

相关文章:

node.js - npm install 显示错误,找不到 git

python - -m 开关的目的是什么?

angular - 为什么我不能构建引用内部 Angular 库的 Angular 应用程序?

azure - npm Azure Artifacts feed 不会安装来自上游源的所有依赖项

django - Heroku:为 Django 应用运行 npm install 和 gulp build

package - racket:获取包校验和

r - 在 Google Colab 中永久安装 R 包

javascript - Web 扩展。在个人扩展中使用第三方 (npm) 软件包(不适用于发行版)

r - 文档对象中非文件包固定的链接

python - 如何在 Python 包中正确导入子模块?