これは大きな問題です。現在の動作が期待されます。 npmV3
は確かに平坦な構造に依存関係をインストールし、Protractor
も同様にインストールされている
分度器をnpmV2.*
すべて一緒にインストールされている場合分度器はnpmV3
でインストールされている場合モジュールはフラット構造にインストールされていますが、まだwebdriver-manager
は依然としてネストされた構造です。これは、矛盾する依存関係が原因です。
As per official documentation
あなたの依存関係は現在、最大平坦インストールされます。 が可能な限り、すべての依存関係とその依存関係、およびTHE 依存関係は、ネストされていないプロジェクトのnode_modulesフォルダ にインストールされます。 2つ(またはそれ以上)のモジュールが矛盾する依存関係を持っている場合には、 の下にネストされたモジュールしか表示されません。
それでは、私たちは別のモジュールを必要とするようにしたいとしましょう、C. CはBが必要ですが、A.Howeverより別のバージョンで 、B v1.0のは、すでにトップレベル DEPであることから、我々はB V2をインストールすることはできません.0をトップレベルの依存関係として使用します。この場合、モジュールのC.
webdriver-manager package.json
リストの依存関係"minimist": "^1.2.0",
- NPM v3の はNPM v2の動作をデフォルトと 、それを必要とするモジュールの下に新しい、 異なる、モジュールBバージョンの依存関係を入れ子にすることで、これを処理します競合依存関係によって以下の依存リスト
├─ [email protected]
│ ├─ [email protected]
│ └─ [email protected]
を必要と楽観主義のような他のパッケージの競合要件である、webdriver-manager
はprotractor node_modules
01の内部に設置されています
は、すべての依存関係おそらくそれは `bin`構成でそのモジュールの使用に関連しています
間で完全な依存性ツリーや紛争のため
npm-remote-ls protractor
ていますか? – cartantあなたが正しいと思われるかもしれませんが、詳細を理解したいと思います。それは本当に文書化されていない何かのようです。 – thorn
関連するオープンな[問題](https://github.com/npm/npm/issues/11466)があるため、非平坦化が意図された動作であるかどうかは不明です。知るか? – cartant