всем привет, столкнулся с проблемой что не заводится контейнер докера потому что не может найти vite. Я погуглил посмотрел, у меня все отлично по файлам и пакетам, все установлено и прописано в package.json а решения проблемы так и не нашел. Я только недавно начал знакомится с фронтом, поэтому возможно чего то просто не понимаю и не могу правильно задать вопрос гуглу, но в принципе искал и смотрел все.
может кто то сталкивался?
Dockerfile:
ARG NODE_VERSION=23.3.0
FROM node:${NODE_VERSION}-alpine
ENV NODE_ENV development
WORKDIR /usr/src/app
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm ci --omit=dev
COPY . .
EXPOSE 8080
CMD npm run dev
Ошибка:
(node:1) ExperimentalWarning: CommonJS module /usr/local/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /usr/local/lib/node_modules/npm/node_modules/supports-color/index.js using require().
2025-01-13T14:07:15.704169057Z Support for loading ES Module in require() is an experimental feature and might change at any time
2025-01-13T14:07:15.704186458Z (Use `node --trace-warnings ...` to show where the warning was created)
2025-01-13T14:07:15.726850436Z
2025-01-13T14:07:15.726924240Z > vite_react_shadcn_ts@0.0.0 dev
2025-01-13T14:07:15.726935440Z > vite
2025-01-13T14:07:15.726939640Z
2025-01-13T14:07:15.735636716Z sh: vite: not found
UPD:
Я поменял свой докерфайл и теперь делаю это перед COPY .. :
COPY package.json ./
RUN npm install
сменил версию ноды на 20-slim и теперь появляется другая ошибка:
Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies
я удалил package-lock.json и node_modules, добавил это все в .dockerignore, добавил
"optionalDependencies": {
"@rollup/rollup-linux-x64-musl": "4.9.5"
}
в package.json но ошибка не пропала.