【问题标题】:Vue in docker container doesn't install devDependencies using yarndocker 容器中的 Vue 不使用 yarn 安装 devDependencies
【发布时间】:2019-10-01 02:31:09
【问题描述】:

您好,我已经在 docker 容器中初始化了一个 vue 应用程序,设置了 docker-compose.ymlDockerfile,对其进行测试并提交到 repo。

在我在其他设备上克隆 repo 并运行 docker-compose up --build 后,yarn 不会安装任何 devDependencies...

这是我的docker-compose.yml

version: '3.7'
services:

  frontend:
    build:
      context: .
      target: 'develop-stage'
    ports:
      - '8090:8090'
    volumes:
      - '.:/app'
    command: /bin/sh -c "yarn serve"

还有Dockerfile:

FROM node:11.1-alpine as develop-stage
WORKDIR /app

ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}

COPY package*.json ./

RUN yarn install --all
COPY . .

在运行yarn install --all 时,我会收到以下警告:

警告@vue/cli-plugin-eslint > eslint > 文件入口缓存 > flat-cache > circular-json@0.3.3:CircularJSON 仅在维护中, flatted 是它的继任者。

当运行yarn serve 时,它将退出并出现以下错误:

前端_1 |纱线运行 v1.12.1

前端_1 | $ vue-cli-service 服务 --port 8090

前端_1 | /bin/sh: vue-cli-service: 未找到

前端_1 |错误命令失败,退出代码为 127

如何安装所有devDependencies

【问题讨论】:

  • 我想我明白发生了什么。您的docker-compose.yml 将本地目录挂载到/app,因此在构建阶段/app 中的任何内容都会丢失
  • @Phil 所以我只需要从docker-compose.yml 中删除卷?
  • 这可能会使其工作,但它无法在更新时热重新加载您的代码
  • 谢谢!我正在使用这个教程~medium.com/@jwdobken/…

标签: vue.js docker-compose yarnpkg


【解决方案1】:

只需在 :

中使用类似的东西
version: '3.7'
services:

  frontend:
    build:
      context: .
      target: 'develop-stage'
    ports:
      - '8090:8090'
    volumes:
      - './src:/app/src'
    command: /bin/sh -c "yarn serve"

它将node_modues保留在应用程序中

【讨论】:

    猜你喜欢
    • 2021-08-27
    • 2017-08-18
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多