“ npm ERR!enoent ENOENT:无此类文件或目录”-仅在1台计算机上发生

时间:2019-01-17 16:41:38

标签: node.js docker docker-compose

我正在使用Windows 10机器在家中进行开发,使用Windows 10机器进行工作中进行开发以及使用Ubuntu 1604服务器进行生产。...

当我运行“ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up”时,它始终可以在我的Windows 10开发计算机上正常运行,但是当我在自己的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来避免此类问题,并且使我发疯。

有人知道会发生什么吗?

我的Node应用程序的Dockerfile ...

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 :(得分:1)

从WSL bash运行“ docker-compose up”命令时,我确实遇到了这个问题。 将驱动器c共享到Docker并通过Power Shell启动修复了我的问题。