web-dev-qa-db-ja.com

同じパッケージの複数のバージョンをインストールする糸

1.5.11の依存関係にangularがあります。

_{
    "dependencies": {
        "angular": "1.5.11",
        "angular-foundation": "0.7.0"
    }
}
_

_angular-foundation_が_angular@>=1.3.0_に依存している。

Yarnがプロジェクトのバージョンを使用する代わりに_[email protected]_をangular-foundationのネストされた依存関係としてインストールするのはなぜですか?これにより、angularがアプリに2回存在し、正しく機能しなくなります。

node_modules angular (1.5.11) angular-foundation (0.7.0) node_modules angular (1.6.9)

これは[email protected]では発生しません-npmはアプリとパッケージの両方に1.5.11を使用します。

11
marekpw

これにはYarn解像度を使用する必要があります

https://yarnpkg.com/lang/en/docs/selective-version-resolutions/

package.jsonは次のようになります

{
  "name": "depdencies",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",

    "dependencies": {
        "angular": "1.5.11",
        "angular-foundation": "0.7.0"
    },
    "resolutions": {
      "**/angular": "1.5.11"
    }
}

これは、すべての子angular依存関係が1.5.11に設定されることをyarnに伝えます。この実行を以下のように更新した後

$ rm yarn.lock
$ yarn
12
Tarun Lalwani