NPM устанавливает вложенную зависимость, когда родитель уже удовлетворен

У меня проблема с установкой NPM двух копий React в моем проекте. Вот соответствующие части зависимостей:

мойpackage.json:

"dependencies": {
    "react": "0.12.2",
    "tcomb-form": "0.4.5"
}

tcomb-форма-хpackage.json:

"peerDependencies": {
    "react": ">=0.12.0"
}

Я бы не ожидал tcomb-formчтобы получить свою собственную копиюReact, так как у меня уже есть зависимость, которая удовлетворяет егоpeerDependencies,

Однако вnpm 2.7.4, он устанавливает отдельную версию в tcomb-form/node_modules/reactи эта версия несовместима с моей версией (я использую 0.12и это установка 0.13)

В npm 1.4.28, это поведение было другим, и tcomb-form/node_modules/react не будет существовать, и он будет просто использовать мою версию.

Есть ли возможность сделать так, чтобы мы все использовали одну и ту же версию React в последней версии? npm?

1 ответ

Решение

npm dedupe должен справиться с этим. В будущих версиях npm, я полагаю, это произойдет во время npm install по умолчанию, но с 1.x и 2.x я думаю, что требуется отдельная дедупликация.

Другие вопросы по тегам