Rapberry PiでのNode.jsのバージョン管理ツールについて
はじめに
Raspberry piをサーバーにして、Next.jsでつくったWebアプリケーションを動作させる機会がありました。そのとき、デフォルトでインストールされていたNode.jsのバージョンが古く、Next.jsが動作しませんでした。そこで、Node.jsのバージョン管理をする必要がでてきました。
これまで惰性でNode.jsのバージョン管理ツールはnodebrew
をつかっていました。
しかし、下記の理由でバージョン管理ツールを見直すことにしました。
- (個人的に)導入が大変
- ツールのメンテナンス頻度が低い
- プロジェクトの作業ディレクトリごとにバージョンを切り替えるのがめんどくさい
なので、バージョン管理ツールを見直す要件として
- 導入が簡単なこと
- ツールのメンテナンス頻度が高い
- 容易にプロジェクトの作業ディレクトリごとにバージョンを切り替えることができる
です。
結論から述べると、fnm
が要件をみたしました。
Node.jsのバージョン管理ソフトの一覧
下記の記事で、「現行のバージョン管理ツールを比較してみる」に一覧がまとまっており、参考になりました。
検討してみたバージョン管理ツール
下記の3つを試しました。
nは聞いたことがあり、voltaとfnmはRust製で新進気鋭な印象を受けたというのが選定理由です。
- n
- volta
特徴は下記の記事がよくまとまっていました
- fnm
実際に導入してみてわかったこと
n
インストールしたあと、パスを通すことがうまくいかず、使用を断念しました。
同様のことを言及した記事が見つかりました。
そのため、nは検討から外しました。
volta
voltaは「x86_64 architectures」に対応していないため、Raspberry Pi OS上では動作させることができませんでした。
voltaのGithub issuesにも取り上げられています。
fnm
fnmは導入は手順通りで、3つの中で1番つまづくことがありませんでした。
また作業ディレクトリ内のルートディレクトリに.node-version
ファイルをつくり適用したいNode.jsのバージョンを書くだけでバージョンが切り替わります。お手軽ですね。
おわりに
今後、voltaもRaspbbery Pi上で使うことができるようになるかもしれません。
いまのところRaspberry PiでのNode.jsのバージョン管理はfnm
を使っていこうと思います。
Discussion