由于 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
等等。
不过,这两种方法似乎都很草率,有更好的方法吗?