【エラー】Error: node is not installed. の解決方法

## はじめに
個人開発アプリのデプロイのために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のスターターガイド](https://devcenter.heroku.com/ja/articles/getting-started-with-nodejs)にも書かれていました。
> このチュートリアルでは、Node.js アプリを Heroku にデプロイする方法を簡単に紹介します。
> 少し時間を取り、Heroku プラットフォームを最大限に活用する方法をご確認ください。
> このチュートリアルでは、以下が用意されていることを前提としています。
> 確認済みの Heroku アカウント
> Node.js​ および npm​ がローカルにインストールされている
> Eco dyno プラン​のサブスクリプション (推奨)

## 対処方法
今回は[NodeSource](https://github.com/nodesource/distributions)のパッケージからnodeのインストールを行いました
DebianおよびUbuntuベースのLinuxディストリビューションの場合に使用するコマンドのようです（以下は2024年6月14日時点です）

```bash
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
```
curlコマンドが直接スクリプトをダウンロードして、その内容をbashで即座に実行しています。つまり、スクリプトの取得と実行をまとめて行なっています。

## 実行結果
```terminal
================================================================================
================================================================================

                              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のバージョンを確認し、インストールされたことを確認。
```bash
root@97304ef0ab75:/event-management-app# node -v
v18.19.0
```

## まとめ
こちらは環境構築でも起こりうるエラーですが、公式ドキュメントなどを調べながら対処すると解決につながりやすいと思います。

## 参考記事
[Ubuntu や Debian に最新の Node.js をインストールする](https://zenn.dev/khsmty/articles/installing_the_latest_nodejs_on_ubuntu_and_debian)
[Ubuntu Linux 22.04 LTSに、Node.jsをNodeSourceのPPAからインストールする](https://kazuhira-r.hatenablog.com/entry/2023/06/11/225717)
[Heroku スターターガイド (Node.js)](https://devcenter.heroku.com/ja/articles/getting-started-with-nodejs)
[nodesource/distributions](https://github.com/nodesource/distributions)
[curl コマンド 使い方メモ](https://qiita.com/yasuhiroki/items/a569d3371a66e365316f)