小编Eri*_*ika的帖子

如何在 Prisma 中使用多个 .env 文件?

我正在使用 Prisma 开发一个 Nestjs 项目,并且我想在 Prisma 中使用多个 .env 文件。我按照这里的指南进行操作。根据指南,我添加:

"migratetest:mysql": "dotenv -e .env.test -- npx prisma migrate dev",
"migratedev:mysql": "dotenv -e .env.development -- npx prisma migrate dev"
Run Code Online (Sandbox Code Playgroud)

到我的 package.json。我运行migratetest:mysql加载 .env.test 文件并进行迁移。然后,我运行start: dev启动该应用程序。然而,棱镜说:

Error: error: Environment variable not found: DATABASE_URL.
  -->  schema.prisma:10
   | 
 9 |   provider = "mysql"
10 |    url      = env("DATABASE_URL")
   | 
Run Code Online (Sandbox Code Playgroud)

似乎在我的项目中找不到 .env 文件(根据指南,没有 .env 文件,应该更改为 .env.test 和 .env.development)

这是我的 .env.test:

DATABASE_URL=mysql://root:123456@localhost:3306/test
Run Code Online (Sandbox Code Playgroud)

这是我的.env.development:

DATABASE_URL=mysql://root:123456@localhost:3306/dev
Run Code Online (Sandbox Code Playgroud)

请帮忙 :)

javascript node.js nestjs prisma dotenv

6
推荐指数
1
解决办法
6708
查看次数

Nestjs Docker 构建错误:找不到 tsconfig.build.json

这是我的 Dockerfile:

FROM node AS builder


WORKDIR /app

COPY package*.json ./
COPY prisma ./prisma/
COPY tsconfig.build.json ./
COPY tsconfig.json ./

RUN npm install

COPY . .
RUN npm run build

FROM node

COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/dist ./dist

EXPOSE 3000
CMD [ "npm", "run", "start:dev" ]
Run Code Online (Sandbox Code Playgroud)

这是我的 docker-compose.yml:

version: "3.7"
services:
  web:
    image: Dockerfile
    build:
      context: ./
      dockerfile: Dockerfile.development
    volumes:
      - ./:/app:z
    environment:
      NODE_ENV : development
      TZ: "${TZ:-America/Los_Angeles}"
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

运行 docker-compose up …

node.js docker dockerfile docker-compose nestjs

5
推荐指数
1
解决办法
8466
查看次数

使用 docker 多阶段构建时找不到模块“/dist/main”

这是我用来构建 Nestjs 项目的 Dockerfile:

FROM node:14 AS builder
WORKDIR /app
COPY package*.json ./
COPY prisma ./prisma/
COPY protos ./protos/
COPY tsconfig.build.json ./
COPY tsconfig.json ./
RUN npm install
RUN npm run build
COPY . .

FROM node:14-alpine
COPY --from=builder /app/node_modules ./node_modules/
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/dist ./dist/
COPY --from=builder /app/protos ./protos/
COPY --from=builder /app/tsconfig.build.json ./
COPY --from=builder /app/tsconfig.json ./
COPY --from=builder /app/prisma ./prisma/
EXPOSE 5273
CMD ["npm", "run", "start:prod"]
Run Code Online (Sandbox Code Playgroud)

.dockerignore:

.vscode/
node_modules/
npm-debug.log
dist/
graphql/
test/
Run Code Online (Sandbox Code Playgroud)

容器无法工作,我得到:

Cannot …
Run Code Online (Sandbox Code Playgroud)

node.js docker dockerfile docker-compose nestjs

4
推荐指数
1
解决办法
7840
查看次数