Вступить в клуб →
лёгкаявопросОчереди, надёжность и эксплуатация

Сборка образа подтянула не ту версию зависимости

В Dockerfile стоит:

COPY package.json ./
RUN npm install
COPY . .

Локально всё работает, но пересборка того же коммита в CI через неделю дала образ, который падает в рантайме из-за изменившегося поведения одной из библиотек. Что не так со сборкой?

  • Не хватает кэширования слоёв: без него `npm install` на каждой сборке ходит в реестр и подтягивает разные версии
  • Проблема в порядке инструкций: `COPY . .` должен идти до установки зависимостей, иначе npm ставит пакеты вслепую
  • Нужно зафиксировать точные версии всех зависимостей прямо в `package.json`, убрав диапазоны, и не хранить lock-файл
  • В образ не попал `package-lock.json`, поэтому `npm install` заново разрешает версии; нужен lock-файл и `npm ci`

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела