1. ホーム
  2. node.js

[解決済み] npmのピア依存関係を自動的にインストールする方法は?

2022-03-16 14:47:22

質問

例えば、Angular2をインストールした場合。

npm install --save angular2
[email protected] /Users/doug/Projects/dougludlow/temp
├── [email protected] 
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY [email protected]
├── UNMET PEER DEPENDENCY [email protected]
└── UNMET PEER DEPENDENCY [email protected]

npm WARN [email protected] requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN [email protected] requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.

ピア依存ファイルもインストールする魔法のフラグを npm に渡すことはできますか?まだ見つかっていないのですが...。手動でピア依存関係をコピー&ペーストして、正しいバージョンであることを確認するのは面倒です。

つまり、しなくていいようにしたい。

npm install --save [email protected] es6-promise@^3.0.2 es6-shim@^0.33.3 [email protected] [email protected] [email protected]

より良い方法とは何でしょうか?

解決方法は?

ピア依存の自動インストールは、解決しようとするよりも多くの問題を引き起こすため、npm 3で明示的に削除されました。これについては、例えばこちらで読むことができます。

つまり、与えられた理由から、npm 3 以上で自動的にインストールすることはできません。

NPM V7

NPM v7 では、peerDependencies の自動インストールが再導入されました。 彼らは、複数の依存関係にまたがるバージョンの互換性などの古い問題を修正するために、いくつかの変更を行いました。 この議論については こちら と発表がありました。 こちら

V7では、V3以前のバージョンと同様に、以下のように npm i で、すべてのpeerDependencesは自動的にインストールされるはずです。