により参考:npm は、パッケージのエイリアス機能や、同じパッケージの複数のバージョンをインストールする機能をサポートすることはありません。
github の問題に投稿された回避策は純粋な JS モジュールでは機能する可能性がありますが、npm がフロントエンド パッケージ管理の標準になるにつれて、パッケージには CSS などのさまざまなアセットが含まれるようになりました。
同じパッケージの複数のバージョンをインストールするための回避策はありますか?
私が思いついた最良のアイデアは、パッケージを「複製」し、少し異なる名前で公開することです。
たとえば、 の複数のバージョンが必要な場合は、 、などと呼ばれるパッケージを公開し、 で適切なバージョンを設定するjquery
だけで済みます。jquery-alias1
jquery-alias2
jquery-alias3
package.json
jquery-1.11.x
または、、などのように、バージョン番号に応じてパッケージに名前を付けることもできますjquery-2.1.x
。
しかし、どちらのアプローチもずさんなようです。もっと良い方法はあるのでしょうか?
ベストアンサー1
npmはパッケージエイリアスをサポートしています。バージョン6.9.0実装する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 レジストリ バージョンとパッケージの GitHub フォークの両方をインストールする場合foobar
:
npm install foobar
npm install foobar-fork@github:username/foobar