У меня есть файл докеров, в котором я использую alpine-nodejs версии 16 в качестве базового образа. Версия npm — 8.
Когда шаг npm install --production
выполняется во время выполнения docker build
, он также устанавливает зависимости, перечисленные в dev-зависимостях package.json, в отличие от варианта использования производственного флага. Я тоже использовал npm install --only=production
, но это тоже не работает.
В alpine nodejs версии 14 флаг работает должным образом, а зависимости от разработчиков не устанавливаются в контейнер. Есть ли проблема с образом alpine node версии 16? Спасибо.
Решение проблемы
Я подозреваю, что у вас, Dockerfile
вероятно, есть что-то вроде COPY..
, но вы не .dockerignore
правильно установили, например, вы не добавили node_modules
в свой .dockerignore
(проверьте КОПИРОВАТЬ с докером, но с исключением для получения дополнительной информации о .dockerignore
)
Я тоже сделал ту же ошибку, и это не должно иметь ничего общего с nodejs14 или nodejs16.
Кстати, npm install --only=prod[uction]
это формат npm 6.x и формат npmnpm install --production
8.x. Одно отличие состоит в том, что в npm 8.x, если вы установите, npm 8.x будет устанавливать только зависимости, даже если вы запустите, но для npm6.x будет игнорировать NODE_ENVNODE_ENV production
npm install
npm install --only
Комментариев нет:
Отправить комментарий