docker

【Vue.js 2.9】DockerでVue.jsをインストールしたらエラー発生

・Vue.jsをDockerにインストール時のエラー内容紹介
・エラー解決方法の紹介

はじめに

Railsの学習も一区切り付いたのでVue.jsの学習を始めようと準備していたところ、相変わらず環境構築で悩んだので備忘も兼ねてエラー内容と解決方法を紹介します。

https://osusublog.net/?p=1131

状況とエラー内容

以下の Dockerfileとdocker-compose.ymlファイルを作成しました。

# Node.jsをインストール
FROM node:16-alpine

# npmコマンドでVue.jsをインストール
RUN apk update && \
    npm install && \
    npm install -g npm && \
    npm install -g vue-cli
version: "3"

services:
  web:
    container_name: vuejs
    build: ./web
    ports:
      - "8080:8080"
    privileged: true
    stdin_open: true
    tty: true
    volumes:
      - ../workspace:/var/www
    command: /bin/sh

そのあと「docker-compose up d」を実行したところRUNコマンドで下記エラーが発生しました。

#6 1.342 OK: 13890 distinct packages available
#6 1.811 npm ERR! Tracker "idealTree" already exists
#6 1.821
#6 1.821 npm ERR! A complete log of this run can be found in:
#6 1.821 npm ERR!     /root/.npm/_logs/2021-09-20T05_35_30_836Z-debug.log

エラー内容としては、「トラッカーidealTreeがすでに存在します」と言われています。
詳細内容はログファイル参照とありますがローカルでは見れず。

解決方法

調べたところNode.jsのバージョンが15以上に起こる問題のようです。
解決方法としては、Dockerfileの中にWORKDIR命令と、package.jsonをコピーする命令をを使い作業ディレクトリを指定すれば解消します。

# Node.jsをインストール
FROM node:16-alpine

# docker-compose.ymlに合わせておく
WORKDIR /var/www
COPY ./package.json /var/www/

# npmコマンドでVue.jsをインストール
RUN apk update && \
    npm install && \
    npm install -g npm && \
    npm install -g vue-cli

参考記事

npm ERR! NodeプロジェクトのDockerイメージの作成中に、トラッカー「idealTree」がすでに存在します
https://www.fixes.pub/program/367541.html