はじめに
個人開発アプリのデプロイのためにHerokuへログインしようとした時のこと。
root@576e6e0ba2be:/event-management-app# heroku login
Error: node is not installed.
nodeがインストールされてない??
ということで、node.jsをインストールするまでの過程をまとめました。
開発環境
Ruby | 3.2.3
Ruby on Rails | 7.1.3
MySQL | mysql:5.7
Docker Compose
原因
こちら後で調べてわかったことですが、Herokuのスターターガイドにも書かれていました。
このチュートリアルでは、Node.js アプリを Heroku にデプロイする方法を簡単に紹介します。
少し時間を取り、Heroku プラットフォームを最大限に活用する方法をご確認ください。
このチュートリアルでは、以下が用意されていることを前提としています。
確認済みの Heroku アカウント
Node.js および npm がローカルにインストールされている
Eco dyno プランのサブスクリプション (推奨)
対処方法
今回はNodeSourceのパッケージからnodeのインストールを行いました
DebianおよびUbuntuベースのLinuxディストリビューションの場合に使用するコマンドのようです(以下は2024年6月14日時点です)
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
curlコマンドが直接スクリプトをダウンロードして、その内容をbashで即座に実行しています。つまり、スクリプトの取得と実行をまとめて行なっています。
実行結果
================================================================================
================================================================================
DEPRECATION WARNING
Node.js 14.x is no longer actively supported!
You will not receive security or critical stability updates for this version.
You should migrate to a supported version of Node.js as soon as possible.
Use the installation script that corresponds to the version of Node.js you
wish to install. e.g.
* https://deb.nodesource.com/setup_16.x — Node.js 16 "Gallium"
* https://deb.nodesource.com/setup_18.x — Node.js 18 LTS "Hydrogen" (recommended)
* https://deb.nodesource.com/setup_19.x — Node.js 19 "Nineteen"
* https://deb.nodesource.com/setup_20.x — Node.js 20 "Iron" (current)
Please see https://github.com/nodejs/Release for details about which
version may be appropriate for you.
The NodeSource Node.js distributions repository contains
information both about supported versions of Node.js and supported Linux
distributions. To learn more about usage, see the repository:
https://github.com/nodesource/distributions
================================================================================
================================================================================
Continuing in 20 seconds ...
================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================
SCRIPT DEPRECATION WARNING
This script, located at https://deb.nodesource.com/setup_X, used to
install Node.js is deprecated now and will eventually be made inactive.
Please visit the NodeSource distributions Github and follow the
instructions to migrate your repo.
https://github.com/nodesource/distributions
The NodeSource Node.js Linux distributions GitHub repository contains
information about which versions of Node.js and which Linux distributions
are supported and how to install it.
https://github.com/nodesource/distributions
SCRIPT DEPRECATION WARNING
================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================
TO AVOID THIS WAIT MIGRATE THE SCRIPT
Continuing in 60 seconds (press Ctrl-C to abort) ...
## Installing the NodeSource Node.js 14.x repo...
## Populating apt-get cache...
+ apt-get update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 Packages [8685 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [13.7 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [156 kB]
Fetched 9109 kB in 3s (3550 kB/s)
Reading package lists... Done
nodeのバージョンを確認し、インストールされたことを確認。
root@97304ef0ab75:/event-management-app# node -v
v18.19.0
まとめ
こちらは環境構築でも起こりうるエラーですが、公式ドキュメントなどを調べながら対処すると解決につながりやすいと思います。
参考記事
Ubuntu や Debian に最新の Node.js をインストールする
Ubuntu Linux 22.04 LTSに、Node.jsをNodeSourceのPPAからインストールする
Heroku スターターガイド (Node.js)
nodesource/distributions
curl コマンド 使い方メモ