web-dev-qa-db-ja.com

yarnを使用してパッケージをインストールする場合、「ピアの依存関係が満たされていない」とはどういう意味ですか?

yarnの新規インストール(npm install yarn -g経由)があり、いくつかのパッケージをインストールしようとしました

yarn add vue-loader babel-loader style-loader css-loader file-loader webpack

インストール中に次のようないくつかの警告が表示されました。

warning "[email protected]" has unmet peer dependency "vue-template-compiler@^2.0.0".

これは正確に何を意味し、具体的には:なぜyarnはこれらの依存関係を独自にインストールしないのですか?(必要な場合)

姉妹の質問 (約npm)は、i)に更新するnpm ii)バグがあるのでnode_modulesを削除することを示唆するいくつかの回答をもたらしますnpmの依存関係の処理について。

yarnのこのような警告のステータスは何ですか? これは本当に警告ですか(=破棄できるもの)? それらを破棄することはできず(webpackビルドは失敗します)、手動でインストールする必要があります。同時に、かなりの数の依存関係がインストールされたため、いくつかの依存関係が失われた理由がわかりません(手動でインストール可能)

34
WoJ

ピア依存関係とは

Here は依存関係の種類に関する有用な読み物です。 here はピアの依存関係に関する情報ですが、要約すると:

Dependency:プロジェクトを実行するために必要なライブラリ/パッケージ。
ピアの依存関係:プロジェクトがフックするライブラリ/パッケージを示すために使用されます。

パッケージvue-loadervue-template-compilerにピア依存関係があります-vue-loadervue-template-compilerのプラグインとして機能します

デフォルトでインストールされないのはなぜですか

ピアの依存関係は、 npm @ (yarnが後に続きます)まで自動的にインストールされました。これは頻繁に混乱する動作のために停止されました。たとえば、競合する要件を持つ別のプラグインをインストールすると、エラーが発生します。

Npm @ 3のpeerDependenciesの動作も変更します。ピアの依存関係は自動的にダウンロードされなくなります。代わりに、ピアの依存関係がまだインストールされていない場合は警告が表示されます。これには、peerDependencyの競合を手動で手動で解決する必要がありますが、長期的には、パッケージの依存関係に注意が必要になる可能性が低くなります。 [2015年2月13日]

26
Leighton