Выбор ответа Junior CI/CD обновлено
npm ci в пайплайне
Вопрос
Почему в CI ставят зависимости командой npm ci, а не npm install?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ставит строго версии из lock-файла, при расхождении падает. npm ci удаляет nodemodules, ставит ровно то, что записано в package-lock.json, и никогда не меняет lock.
Варианты ответа
- Ставит строго версии из lock-файла, при расхождении падаетправильный ответ
npm ciставит только devDependencies для тестовnpm ciобновляет все пакеты до последних версийnpm ciработает без интернета, из встроенного кеша
Разбор
npm ci удаляет node_modules, ставит ровно то, что записано в package-lock.json, и никогда не меняет lock. Если lock не соответствует package.json, команда падает. Так в CI собирается то же, что у разработчика.
- Ставятся все зависимости, а не только dev.
- Обновление до последних версий это как раз то, чего в CI нужно избежать.
- Без интернета
npm ciработает только с заполненным кешем, это не его отличие.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.