Node.jsのDockerコンテナにyarnをインストールしようとしてエラーが出た

DockerDocker

はじめに

DockerfileからNodeコンテナをビルドする際に下記エラーが起きました。

npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
npm ERR! dest /usr/local/bin/yarn
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/local/bin/yarn'
npm ERR! File exists: /usr/local/bin/yarn
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.

Dockerfileの内容

FROM node:12-alpine

RUN npm install -g yarn

原因と対策

Node.jsコンテナにはyarnがインストール済みなので、再度入れようとしたときにエラーとなります。

なので、yarnインストールの行を削除。
無事起動完了。

そりゃ2重に入れようとしたらエラーとなるよな。。。

nodeコンテナのissueを調べると、2017年にはyarnがインストール済みの模様

Unable to npm install -g yarn on 6.10 · Issue #344 · nodejs/docker-node · GitHub

ちなみに、Node.jsのバージョンを「10系」から「12系」に上げたときに起きました。

バージョン上げる前もエラーが起きる要素はあったのですが、いままで起動できていたのが不思議。

コメント

タイトルとURLをコピーしました