[Перевод] Особенности npm и хранение node_modules в git

npm.png Для управления зависимостями в проекте, node.js, как и многие другие платформы, предоставляет собственный пакетный менеджер — npm. И несмотря на то, что он внешне похож, например, на Ruby Gems, и вроде бы выполняет те же самые функции, npm обладает некоторыми особенностями, которые стоит учитывать при разработке приложений на node.js. Одна из таких особенностей — это способ хранения директории node_modules в проекте. Многие, по аналогии с другими системами, оставляют в проекте только package.json с зафиксированными версиями модулей, а node_modules добавляют в .gitignore. Такая стратегия не всегда верна, если мы обратимся в FAQ на npmjs.org, то увидим там следующее: Q: Стоит ли хранить node_modules в git? A: Mikeal Rogers очень хорошо ответил на этот вопрос: http://www.mikealrogers.com/posts/nodemodules-in-git.html tl; drХраните node_modules в git для проектов, которые требуется разворачивать, таких как вебсайты и приложения. Добавляйте node_modules в .gitignore для библиотек и повторно используемых модулей. Используйте npm для управления зависимостями в dev окружении, но не в скриптах используемых для деплоя. Под катом перевод статьи Mikeal Rogers, в котором подробно описывается, с чем связан такой непривычный подход.Читать дальше →

© Habrahabr.ru