2017-02-09 6 views
5

Поскольку модули узлов и зависимостей NPM версии 3 установлены на одном корневом уровне. Но что, если я устанавливаю два модуля, которые зависят от двух разных версий одного и того же модуля? Например, если я устанавливаю async npm i [email protected], который requires lodash version 4.14.0, тогда я устанавливаю yoman npm i [email protected], который requires lodash version version 3.2.0, как npm разрешает этот конфликт?Как NPM обрабатывает конфликты версий?

+1

«В этом случае каждая зависимость с конфликтующим версии на одной и той же зависимости получит свою собственную, вложенные копия этой конфликтной зависимости. Именно поэтому мы описываем дерево установки как максимально плоское - оно все равно позволит вложенность в случае конфликтов ». Взято из проблемы github в этой теме. – user2263572

ответ

4

НПМ имеет большой блоге пост документации, об этом устройстве

https://docs.npmjs.com/how-npm-works/npm3
http://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html

+0

Ссылка кажется устаревшей. Возможно, эта ссылка поможет вам: https://www.quora.com/How-does-Node-Package-Manager-work – Shinigami

+1

спасибо @Shinigami, npm, должно быть, переместили свой пост с тех пор, как я его связал. просто обновил его, чтобы указать на новый дом для этой страницы –