#reactjs #docker #npm #gitlab
#reactjs #docker #npm #gitlab
Вопрос:
Я попытался удалить папку node_modules, но я все еще получаю ошибку. Он работал нормально, но внезапно начал выдавать эту ошибку.
Это приложение react, если это поможет.
Файл Docker
## Stage 0, "builder", based on Node.js, to build and compile the frontend
# base image
FROM node:alpine as builder
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
## add app
COPY . /app
# delete node modules to fix discrepancies
RUN rm -rf node_modules/
#RUN npm install amp;amp; npm audit fix amp;amp; npm audit fix --force amp;amp; npm install
RUN npm install -g npm@7.0.3 amp;amp; npm install amp;amp; npm audit fix
RUN npm run build
## Stage 1, "deployer", use nginx to deploy the code
## start app
FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /app/build /usr/share/nginx/html/
RUN rm /etc/nginx/conf.d/default.conf
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf
ошибки консоли
npm notice
npm notice New patch version of npm available! 7.0.2 -> 7.0.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.0.3>
npm notice Run `npm install -g npm@7.0.3` to update!
npm notice
npm ERR! code EXDEV
npm ERR! syscall rename
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! dest /usr/local/lib/node_modules/.npm-i9nnxROI
npm ERR! errno -18
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-10-23T16_47_42_554Z-debug.log
The command '/bin/sh -c npm install -g npm@7.0.3 amp;amp; npm install amp;amp; npm audit fix' returned a non-zero code: 238
Комментарии:
1. У меня такая же проблема, на самом деле это может быть ошибка в npm 7. Но я не могу подтвердить.
Ответ №1:
Я столкнулся с той же проблемой. Поскольку ваш базовый образ является node, npm уже должен быть установлен глобально. Нет необходимости запускать npm install -g npm@7.0.3
и по-прежнему иметь возможность впоследствии выполнять все элементы, связанные с npm.
Комментарии:
1. Возможно, я ошибаюсь, но, похоже, это просто уведомления, ошибки, похоже, появляются после установки пакетов, не так ли? Я попробую удалить строку и проверить, работает ли она. Спасибо
2.
npm install -g npm@latest
Может потребоваться запуск для обновления npm до последней версии после установки NodeJS.
Ответ №2:
Извините, недостаточно представителя для комментариев.
На самом деле я тоже столкнулся с подобными проблемами. Узел был обновлен, что увеличило версию npm до 7 , что, похоже, вызывает проблемы у людей. Мое решение, пока я не смогу полностью устранить проблемы, заключалось в том, чтобы заблокировать версию моего узла / NPM в моей сборке контейнера.
FROM node:14.14-alpine3.11
является ли инструкция, которую я использую, поддерживает меня на какой-то версии 6.x.x, чтобы мои сборки работали.