【发布时间】:2014-12-12 10:06:42
【问题描述】:
由于https://github.com/npm/npm/issues/2943,npm 将永远不会支持为包命名和安装同一包的多个版本的能力。
在 github 问题上发布的解决方法可能适用于纯 JS 模块,但随着 npm 成为前端包管理的标准,包现在包含各种资产,例如 CSS。
是否有任何解决方法可以安装同一软件包的多个版本?
我想出的最好办法是“克隆”一个包,然后用稍微不同的名称发布它。
例如,如果您需要多个版本的jquery,您可以只发布名为jquery-alias1、jquery-alias2、jquery-alias3 等的包,然后在您的package.json 中设置适当的版本。
或者你可以根据包的版本号来命名包,例如jquery-1.11.x、jquery-2.1.x等。
不过,这两种方法似乎都很草率。有更好的吗?
【问题讨论】:
-
在前端包管理中的标准不是 bower 可以easily do this。
-
是的,凉亭在这里似乎是一个替代方案。太糟糕了,似乎没有 npm 解决方案,因为向大型团队引入另一个包管理系统可能很困难。特别是如果您已经设置了支持 npm 的基础架构(例如,私有 npm 注册表服务器)