その他

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
酒井 駿
名古屋工業大学大学院卒業後、豊田合成(株)で品質管理を経験し、その後スタートアップ・マネーフォワードを経て、2024年11月に株式会社EGGHEAD創業。 製造業とエンジニアリング、両方の現場の知見を活かし、製造業における生成AIを活用した業務改善やシステム開発を支援します。