Я запускаю npm в своей локальной среде. Если я запустил npm install
в своей локальной среде, он установит несколько пакетов в node_modules/
, и все будет хорошо.npm устанавливает другой пакет на сервере vs localhost
Затем я вывожу последние изменения на сервере удаленного сервера и попробую запустить gulp
и получить некоторые ошибки. Так я бегу следующее:
rm -rf node_modules npm install gulp
и все работает правильно. Но, конечно, целая куча предметов в node_modules
изменилась. Итак, я делаю git push
с сервера, а затем вытаскиваю локально. Но теперь моя локальная сборка не будет работать gulp
, и мне нужно будет повторить описанный выше процесс (удалите node_modules, npm install).
Похоже, что npm install
устанавливает несколько разных пакетов в моей локальной среде и среде сервера, несмотря на то, что они оба Ubuntu 14.04. Версия nodejs для сервера и локальной сети также совпадает с v5.3.0
.
Не заходите в 'node_modules' в свой репозиторий git! Это всегда вызовет некоторые проблемы между различными средами, а общий - скомпилированный собственный код между Mac OS X и Linux. Если вы хотите убедиться, что те же версии модулей будут использоваться для каждой установки «npm», прибегают к [npm-shrinkwrap] (https://docs.npmjs.com/cli/shrinkwrap). – bardzusny
Согласны, мы используем Shrinkwrap для решения таких проблем. –