برنامه‌نویسی · حدود 10 دقیقه

Dependencyها را یک‌جا نپر؛ ارتقای مرحله‌ای برای پیدا کردن شکست

بعد از یک upgrade بزرگ ده‌ها خطا داری و معلوم نیست کدام dependency یا تغییر API ریشه هر مشکل است.

اگر عجله داری

نسخه‌های major را دسته‌ای و کور بالا نبر. تغییرات breaking را بخوان، یک لایه را ارتقا بده و اثر را قبل از مرحله بعد بررسی کن.

چطور دقیق‌تر به موضوع نگاه کنیم؟

  1. فهرست dependencyهای مستقیم و نسخه‌های major عقب‌مانده را جدا کن.
  2. changelog و migration guide نسخه هدف را برای breaking changeهای مرتبط بخوان.
  3. یک dependency یا گروه نزدیک را ارتقا بده و تغییر کد لازم را همان‌جا ثبت کن.
  4. بعد از پایدارشدن مرحله، lockfile و commit مستقل بساز تا اگر مرحله بعد شکست خورد نقطه سالم روشن باشد.

چرا این موضوع مهم است؟

ارتقای هم‌زمان چند جزء فضای علت‌ها را بزرگ می‌کند و rollback را سخت‌تر می‌سازد.

سؤال‌هایی که معمولاً بعدش پیش می‌آید

همیشه latest نصب کنم؟

نه؛ سازگاری، پشتیبانی و ریسک تغییر مهم‌اند. نسخه هدف را آگاهانه انتخاب کن.

lockfile چرا مهم است؟

نسخه دقیق dependencyهای نصب‌شده را پایدارتر و build قابل تکرارتر می‌کند.