«npm ERR! enoent ENOENT: нет такого файла или каталога» - происходит только на 1 компьютере - PullRequest
0 голосов
/ 17 января 2019

Я использую машину с Windows 10 для разработки дома, машину с Windows 10 для разработки на работе и сервер Ubuntu 1604 для производства ....

Когда я запускаю «docker-compose -f docker-compose.yml -f docker-compose.dev.yml up», он всегда работает нормально на моей машине для разработки под Windows 10 дома, но когда я запускаю ту же команду на моем Windows 10 машина на работе всегда выдает ошибку ...

database | npm ERR! path /usr/src/app/package.json
database | npm ERR! code ENOENT
database | npm ERR! errno -2
database | npm ERR! syscall open
database | npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/app/package.json'
database | npm ERR! enoent This is related to npm not being able to find a file.
database | npm ERR! enoent
database |
database | npm ERR! A complete log of this run can be found in:
database | npm ERR!     /root/.npm/_logs/2019-01-17T16_28_12_239Z-debug.log

Я использую один и тот же код, как на ОС Windows 10! Я начал использовать Docker специально, чтобы избежать подобных проблем, и это сводит меня с ума.

Кто-нибудь знает, что может происходить ???

Dockerfile для моего Node-приложения ...

FROM node:10

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package*.json ./

RUN npm install

RUN npm install -g nodemon

# Bundle app source into container
COPY . .

EXPOSE 8080

файл docker-compose.yml ...

version: "2"
services:
  app:
    container_name: database
    build: .
    links:
      - mongo
  mongo:
    container_name: mongo
    image: mongo:4

и файл docker-compose.dev.yml для запуска в разработке ....

version: "2"
services:
  app:
    restart: always
    volumes:
      - .:/usr/src/app
    ports:
      - "8080:8080"
    command: ["npm", "start"]
  mongo:
    ports:
      - "27017:27017"

1 Ответ

0 голосов
/ 13 июня 2019

У меня была именно эта проблема при запуске моей команды "docker-compose up" из WSL bash. Совместное использование диска c в Docker и запуск через Power Shell исправили мою проблему.

...