Сравните версию модуля локального узла с версией package.json

Я хочу задать этот вопрос, потому что столкнулся с некоторыми проблемами при совместной работе с другими разработчиками.

Иногда другие разработчики обновляют версию модулей узла, и я вытягиваю новый коммит и забываю установить новые модули.

Это вызовет некоторые проблемы при запуске кода. И я сначала не понял, что ошибка была вызвана версией модуля обновления. Мне потребовалось некоторое время, чтобы отладить неправильно.

Есть ли способ решить эту проблему?

Например, сравните свой локальный node_module с настройкой package.json.

Я думаю, что один из способов - создать плагин git. Этот плагин уведомит вас об изменении package.json.

Я также пытаюсь найти некоторые модули, но эти модули сравнивают локальную версию с версией реестра npm. (например, npm-check-updates)

Можно ли как-то сравнить локальный node_module с настройкой package.json?

Я думаю, это также поможет при развертывании кода в производственном режиме (для проверки перед публикацией).


person Chen-Tai    schedule 03.07.2016    source источник


Ответы (1)


2 вещи:
Если вы хотите получать уведомления об обновлении package.json, я думаю, что стандартной команды git pull должно быть достаточно, поскольку она отображает все файлы, обновленные вашими коллегами.

Если если вы хотите избежать запуска среды разработки с некоторыми отсутствующими зависимостями, я думаю, что лучший способ — добавить задачу install-dependencies для grunt (gulp или любого другого средства выполнения задач), которая потребуется для вашей команды grunt serve.

Таким образом, вы никогда не пропустите обновление package.json, и это заставит вас поддерживать все ваши локальные зависимости в актуальном состоянии и в соответствии с вашей командой.

надеюсь, что это поможет

person Mahmal Sami    schedule 03.07.2016
comment
Конечно, экзамен package.json — это один из методов. Но, как вы знаете, в некоторых случаях мы можем пропустить обновление. Вот почему я думаю, что, возможно, у них есть решение для привязки проверки версии модуля узла перед каким-либо важным действием (например, развертыванием в рабочей среде). - person Chen-Tai; 04.07.2016
comment
Что вы говорите: 1_ Вы думаете, что в некоторых случаях ваши коллеги проталкивали плохой код (обновлена ​​версия nodejs), а затем вам нужна система непрерывной интеграции и тестирования перед запуском в производство. 2_ Продвинутый код в порядке, но вы забыли установить все зависимости: тогда я рекомендую использовать диспетчер процессов, который будет обрабатывать автоматическое развертывание зависимостей (например, что-то, что должен делать StrongLoop? Извините, я делал это вручную - person Mahmal Sami; 05.07.2016