Docker

Docker環境に最新のNodejsを入れる方法

今回はDocker環境に最新のNodejsを入れるのに苦戦したのでそれを備忘録として書いていきたいと思います。

発生したエラー

+ curl -sLf -o /dev/null ‘https://deb.nodesource.com/node_13.x/dists/bullseye/Release
## Your distribution, identified as “bullseye”, is not currently supported, please contact NodeSource at https://github.com/nodesource/distributions/issues if you think this is incorrect or would like your distribution to be considered for support

今回は先月の2021/10月にアクティブ LTSに入ったnodejsのv16を入れることにしました。

入れ方は下のようにまずcurlでダウンロード先のファイルを持ってきてからインストールしてからapt-getコマンドでインストールします。

RUN set -x \
  && curl -sL https://deb.nodesource.com/setup_16.x | bash - \
  && apt-get update -qq \
  && apt-get install -y \
    nodejs \

余談ですが、コンテナでパッケージを入れる際はaptのlistを取得する必要があるため、必ずapt-get updateが必要になります。

補足

curl -sL https://deb.nodesource.com/setup_16.x | bash - 
  • sオプションでじゃまな出力を消せる
  • Lオプションでリダイレクト先にアクセスできる
  • | bash - でcurlで得たスクリプトをbashで実行する
apt-get update -qq 
  • qqオプションでエラー以外は表示しない
  • コンテナでパッケージを入れる際は必ず必要
apt-get install -y
  • -yオプションですべての質問にyesで答える

さいごに

Ruby3.0.0とRuby2.6.5のイメージを使ってnodejsのバージョンを何も指定しない場合、10番台のバージョンがインストールされました。自動で相性のいいバージョンをインストールしてくれるらしいですが、サポート終了しているのがインストールされるのは・・って思いました。

ここまで読んでいただきありがとうございました。

参考

https://linuxfan.info/install_nodejs_on_ubuntu_debian

ABOUT ME
sakai
東京在住の30歳。元々は車部品メーカーで働いていてましたが、プログラミングに興味を持ちスクールに通ってエンジニアになりました。 そこからベンチャー → メガベンチャー → 個人事業主になりました。 最近は生成 AI 関連の業務を中心にやっています。 ヒカルチャンネル(Youtube)とワンピースが大好きです!