关于node.js:Docker编写:npm ERR!缺少脚本:构建

Docker compose: npm ERR! missing script: build

你好,我不知道在尝试将docker compose与postgress一起使用时出错的地方

docker compose yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
version:"3.7"
services:
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: emasa
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    ports:
      -"5432:5432"
    web:
      image: emasapg
      depends_on:
        - dbs
      ports:
        -"4000:4000"

dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
FROM node as builder
WORKDIR usr/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build


FROM node
WORKDIR usr/app
COPY package*.json ./
RUN npm install --production

COPY --from=builder /usr/app/dist ./dist

COPY ormconfig.docker.json ./ormconfig.json
COPY .env .

expose 4000
CMD node dist/src/index.js

我的package.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
 "name":"back-end",
 "version":"0.0.1",
 "description":"Awesome project developed with TypeORM.",
 "devDependencies": {
   "@types/express":"^4.17.3",
   "@types/graphql":"^14.5.0",
   "@types/node":"^13.9.1",
   "ts-node":"8.6.2",
   "typescript":"3.3.3333"
  },
 "dependencies": {
   "apollo-server-express":"^2.11.0",
   "express":"^4.17.1",
   "graphql":"^14.6.0",
   "pg":"^7.3.0",
   "reflect-metadata":"^0.1.13",
   "typeorm":"0.2.24"
  },
 "scripts": {
   "start":"ts-node src/index.ts"
  }
}

错误:

npm ERR! missing script: build

我的文件结构:

enter


它基本上是在抱怨缺少构建脚本,它试图运行该脚本,但是您的package.json中却缺少它!

我认为您应该尝试更新您的package.json文件并添加一个构建脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
 "name":"back-end",
 "version":"0.0.1",
 "description":"Awesome project developed with TypeORM.",
 "devDependencies": {
   "@types/express":"^4.17.3",
   "@types/graphql":"^14.5.0",
   "@types/node":"^13.9.1",
   "ts-node":"8.6.2",
   "typescript":"3.3.3333"
  },
 "dependencies": {
   "apollo-server-express":"^2.11.0",
   "express":"^4.17.1",
   "graphql":"^14.6.0",
   "pg":"^7.3.0",
   "reflect-metadata":"^0.1.13",
   "typeorm":"0.2.24"
  },
 "scripts": {
   "start":"ts-node src/index.ts",
   "build":""  // your build script goes here,"tsc" should be fine
  }
}