Поскольку модули узлов и зависимостей 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 обрабатывает конфликты версий?
ответ
НПМ имеет большой блоге пост документации, об этом устройстве
https://docs.npmjs.com/how-npm-works/npm3
http://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html
Ссылка кажется устаревшей. Возможно, эта ссылка поможет вам: https://www.quora.com/How-does-Node-Package-Manager-work – Shinigami
спасибо @Shinigami, npm, должно быть, переместили свой пост с тех пор, как я его связал. просто обновил его, чтобы указать на новый дом для этой страницы –
«В этом случае каждая зависимость с конфликтующим версии на одной и той же зависимости получит свою собственную, вложенные копия этой конфликтной зависимости. Именно поэтому мы описываем дерево установки как максимально плоское - оно все равно позволит вложенность в случае конфликтов ». Взято из проблемы github в этой теме. – user2263572