🕌

DockerでVue.jsの環境構築で発生するエラー「sh: 1: vue-cli-service: not found」

2024/04/21に公開

❎こんなの人におすすめ

  • Vuejsの環境をDockerで構築使用して「sh: 1: vue-cli-service: not found」のエラーが発生する人

❎原因

  • おそらく、「docker-compose.yml」に、ホットリロードを採用しているため、ホスト側とコンテナ側のソースをリンク設定していることが原因
  • 「node_modules」が随時上書きされてしまうため、vue-cli-serviceのパスが変更されている模様
  • コンテナ側の「/app/node_modules」を専用のボリュームに指定してあげることで、リンクの上書きさせないことで解決
version: '3'
services:

  frontend:
    build:
      context: .
      dockerfile: frontend/Dockerfile.development
    volumes:
      - ./frontend:/app # ココが原因
    ports:
      - "8080:8080"

❎解決

version: '3'
services:

  frontend:
    build:
      context: .
      dockerfile: frontend/Dockerfile.development
    volumes:
      - ./frontend:/app
   # 追加
      - node_modules:/app/node_modules  
    ports:
      - "8080:8080"

# 追加
volumes: 
  node_modules:

Discussion