У меня есть файл докеров, в котором я использую 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 productionnpm installnpm install --only
Комментариев нет:
Отправить комментарий