Yarn: процедура повторного развертывания зависимостей JavaScript на производственном сервере (использование ' yarn.файл блокировки)
Я прочитал документацию по пряже, и я знаю lock
файл должен быть зафиксирован в VC. См.этой и что объясняет на высоком уровне, почему файл блокировки необходим, и этой который перечисляет кучу команд без особого объяснения того, что они на самом деле делают!
Я также прочитал много вопросов о StackOverflow, который спрашивает, есть ли lock
файл должен быть зафиксирован в VC.
- обновление когда мне нужно (т. е. в среде разработки, где я хочу, чтобы тянуть последние версии и обновления
lock
файл, чтобы отразить это) - для синхронизации моего файла блокировки с другими разработчиками, чтобы убедиться,что они разрабатывают / тестируют из тех же версий зависимостей, и
- для обновления / повторной синхронизации
node_modules
каталог на рабочем сервере (т. е. чтобы убедиться, что рабочий сервер не работает на другой/разрывной версии зависимых пакетов)
Я спрашиваю отчасти потому, что в прошлом, делая git pull
на сервере я столкнулся с сообщениями, сообщающими мне, что yarn.lock
файл был обновлен независимо от процесса разработки / VC. Насколько я понимаю, это нельзя допустить, чтобы это случилось.
2 ответов
-
честно говоря, это вопрос мнения/предпочтения. Я видел несколько стратегий:
- используя
yarn upgrade
- вручную натыкаясь на версию в
package.json
передyarn
- используя
как упоминал Фабьен: используйте
yarn check
-
вы можете использовать автономные зеркала yarn, где вы фиксируете кэши ваших пакетов npm в управление версиями. (См.этой средний статья)
плюс есть много недостатков при использовании
yarn --offline
:- сборки быстрее, потому что вам не нужно извлекать пакеты из реестра npm.
- ваши сборки завершатся неудачей, если у вас нет правильных зависимостей.
следующая информация основана на том, что мы используем ежедневно в Orange, это может быть не единственная правда.
1 ) Обновление yarn.lock
yarn upgrade [package | package@tag | package@version | @scope/]... [--ignore-engines] [--pattern]
эта команда обновляет зависимости до последней версии на основе диапазона версий, указанного в . The yarn.lock
файл также будет воссоздан.
источник:https://yarnpkg.com/en/docs/cli/upgrade
2) зависимость между разработчики
что я предлагаю вам сделать, это создать скрипт, который будет проверять текущую версию 'рекомендуемый' с помощью:
yarn check
проверяет, что версии зависимостей пакетов в текущем проекте package.json
соответствуют тем, в файле блокировки пряжи.
источник:https://yarnpkg.com/en/docs/cli/check
3) Обновление серверной продукции
аналогично 2 ) используя крючок ЖКТ скрипт, должно помочь вам!--4--> если package.json
версия правильна, если не запустить yarn update
.