January 28th, 2016

Интересные особенности установки пакетов утилитой npm

Вот ставим мы допустим пакет express. Когда-то все зависимости установливались строго внутрь пакета, т.е в node_modules/express/node_modules. Теперь же зависимости устанавливаются на один уровень с пакетом, т.е. в node_modules/
А если поставим пакет, который числится в зависимостях express, но другой версии, то произойдёт следующее:
  - пакет той версии от которой зависит express - переместиться в express, а именно node_modules/express/node_modules/<пакет@x>
  - а на его место, встанет установленный пакет node_modules/<пакет@y>
И вот ещё момент - удалить последний установленный пакет
<пакет@y> - уже не получится пока мы не удалим express. Впрочем, похоже это баг и в будущем он будет исправлен.