Ruby:2.6 のdockerコンテナでrails6.0を入れようとしたらyarnがコケた

公開:2020/11/22
更新:2020/11/22
1 min読了の目安(約1100字TECH技術記事

よくある話みたいです。

TL;DR

ruby:2.6 の image で yarn を入れたが動かない

rails のセットアップに yarn が必要なので
Dockerfile 内に

RUN set -x && apt-get update -qq && apt-get install -yq nodejs yarn

と書いてコンテナ内で yarn したら古いと怒られてしまった。

root@<containerId>:/app# yarn
00h00m00s 0/0: : ERROR: There are no scenarios; must have at least one.

新しいのが入るようにしてやる

RUN set -x && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
    echo 'deb http://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list

RUN set -x && apt-get update -qq && \
  apt-get install -yq build-essential nodejs yarn

これでOK。

root@<containerId>:/app# yarn
yarn install v1.22.5
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
...