Как обновить существующий проект с помощью Yeoman

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

Я знаю, что могу использовать nvm для понижения версии Node и установки старых пакетов, но это отстой, особенно когда в команде много разработчиков. За последние несколько месяцев я использовал генераторы для более чем 10 проектов, поэтому меня очень интересует решение.

Существует ли рекомендуемый путь обновления при выпуске новых версий генераторов, помимо простого повторного создания проекта и копирования файлов?

(Просто отметим: это не проблема при обновлении проекта Yeoman 0.9.)


person mgnb    schedule 28.08.2013    source источник
comment
Вы пробовали запускать npm update -g для глобальных пакетов и npm update для локальных пакетов в каталогах проекта?   -  person micjamking    schedule 28.08.2013


Ответы (1)


Сначала убедитесь, что вы все зафиксировали или у вас есть резервная копия, а затем просто снова создайте леса над проектом. yo запросит у вас каждый файл, если вы хотите перезаписать. Для тех файлов, которые вы не редактировали, просто скажите «да». Для остальных введите d для diff и посмотрите, что изменилось. Затем вручную внесите изменения и запустите npm install & bower install, чтобы получить последние зависимости.

РЕДАКТИРОВАТЬ

Как упоминалось в комментариях Маркуса Гаттола:

yo <generator-name> теперь уже запускает bower install и npm install, т.е. нет необходимости запускать их явно снова – Маркус Гаттол

person Sindre Sorhus    schedule 28.08.2013
comment
Отличный ответ! Я не знал, что он был достаточно умен, чтобы сделать diff для меня. Хорошо получать авторитетные ответы из авторитетных источников. - person mgnb; 29.08.2013
comment
yo <generator-name> теперь уже запущены bower install & npm install т.е. нет необходимости запускать их снова явно - person Tom; 23.12.2014
comment
@MarkusGattol не знаю почему, но bower install у меня всегда выходит из строя на всех машинах. Я продолжаю запускать его явно снова. - person ProblemsOfSumit; 31.07.2015
comment
@Sumit это потому, что, если у Bower нет разрешения на уровне root, все команды без --allow-root не будут выполняться! - person Gaurav Ramanan; 26.08.2016