Od wersji NPM 3 moduły węzłów i zależności są instalowane na tym samym poziomie katalogu głównego. Ale co jeśli zainstaluję dwa moduły zależne od dwóch różnych wersji tego samego modułu? Na przykład, jeśli zainstaluję async npm i [email protected]
, który requires lodash version 4.14.0, a następnie zainstaluję yeoman npm i [email protected]
, który requires lodash version version 3.2.0, w jaki sposób npm rozwiązać ten konflikt?W jaki sposób NPM radzi sobie z wersją konfliktów wersji?
Odpowiedz
NPM ma wielką wpis na blogu dokumentacji stronę o tym
https://docs.npmjs.com/how-npm-works/npm3
http://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html
Link wydaje się być nieaktualny. Może ten link pomoże ci: https://www.quora.com/How-does-Node-Package-Mager-work – Shinigami
dzięki @Shinigami, npm musiał przenieść swój post, ponieważ go połączyłem. zaktualizowałem go, aby wskazać nowy dom dla tej strony –
„w tym przypadku każda zależność o konflikcie wersji tego samego uzależnienia dostanie swój własny, zagnieżdżone kopię tej sprzecznej zależności, dlatego opisujemy drzewo instalacji jako maksymalnie płaskie - w razie konfliktów nadal będzie można zagnieżdżać. " Zrobione z wydania github w tym temacie. – user2263572