見出し画像

nodejsのバージョン管理方法を特定してバージョンアップする

はじめに

こんにちは、SHIFT の開発部門に所属しているmurasawaです。
中途で入社、バックエンド関連の開発を担当しています。

現在、社内基盤の開発を行っています。
開発の中でDB等、新たに学んだり得た知見をアウトプットし理解を深めていくとともに技術の共有として役に立てば幸いです。

久しぶりにnodejsを更新しようとしててこずった箇所をまとめていきます
環境:CentOS7

nodejsを何で管理しているか確認

まず管理方法がわからないまま更新しようとしても、成功しないので自身の環境ではどのようにnodejsを管理しているのか確認しましょう

NVMで管理していた場合

nvm lsをターミナルで実行すると

$ nvm ls
       v14.17.6
->     v16.19.0

のようにインストールされているバージョンを確認することができます。
->で示されているのが現在使用されているバージョンです。
ここで

bash: nvm: コマンドが見つかりません

となればnvmで管理しているわけではないことになります。

nodebrewで管理していた場合

nodebrew lsをターミナルで実行すると

nodebrew ls
v14.17.6
v16.19.0

current: v14.17.6

と表示されます。
同様に

bash: nodebrew: コマンドが見つかりません

と表示されれば、nodebrewでの管理ではないことになります。

nで管理していた場合

n -Vをターミナルで実行すると

$ n -V
14.17.6

と表示されます。
同様に

bash: n: コマンドが見つかりません

と表示されれば、nでの管理ではないことになります。

nの前提として、一度npmが使用できる環境を導入した後にnpm installをして導入する必要があります。
つまり

  • バージョン管理ツールなしでインストールしてnで管理している

  • nvmやnodebrewでinstallした後、node_moduleに追加されている

ことが考えられるので nvmとnやnodebrewとnどちらもバージョンが表示される場合は、
統一することでチームの開発者体験の向上や効率アップにつながるのではないかと考えています。

nodebrew、nvmともにlinuxやwindiwsのwslでは./nodebrew,./nvmフォルダを削除することでuninstallすることができます。

nは

npm uninstall -g n

でアンインストールすることができます。

管理方法判明後

nやnodebrew、nvmでのアップデート方法を検索します。

今回私の環境ではnodebrewだったのでnodebrewでのアップデート方法を記述します。
nvmやnでのアップデート方法は以下を参考にしてください。

https://maku77.github.io/nodejs/env/nvm
https://blog1.mammb.com/entry/2019/11/26/090000

nodebrewでのバージョンアップ方法

$ nodebrew use v14.17.6
use v14.17.6
$ npm -v
6.14.15

今回はv14.17.6からv16.19.0に更新します。

$nodebrew ls-remote
v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    

v0.1.0    v0.1.1    v0.1.2    v0.1.3    v0.1.4    v0.1.5    v0.1.6    v0.1.7
v0.1.8    v0.1.9    v0.1.10   v0.1.11   v0.1.12   v0.1.13   v0.1.14   v0.1.15
v0.1.16   v0.1.17   v0.1.18   v0.1.19   v0.1.20   v0.1.21   v0.1.22   v0.1.23
v0.1.24   v0.1.25   v0.1.26   v0.1.27   v0.1.28   v0.1.29   v0.1.30   v0.1.31
v0.1.32   v0.1.33   v0.1.90   v0.1.91   v0.1.92   v0.1.93   v0.1.94   v0.1.95
v0.1.96   v0.1.97   v0.1.98   v0.1.99   v0.1.100  v0.1.101  v0.1.102  v0.1.103
v0.1.104  ........

のコマンドでインストールできるバージョンが表示されます。
installの前に

$ nodebrew setup

を実行することで、ディレクトリ構成などを自動生成してくれます。

最新の安定板をインストールしたければ

$ nodebrew install-binary stable

インストールするバージョンを指定したい場合は

$ nodebrew install-binary v16.19.0

のように指定します。

$ nodebrew ls
v14.17.6
v16.19.0

と指定したものがインストールされていればOKです。

バージョンを切り替える場合は

$ nodebrew use v16.19.0

と実行すれば

$ node -v
v16.19.0

切り替わります。

yarn を利用していた場合

バージョンアップ前にyarn を利用していた方は 再度installし直す必要があります。

$ npm -v
8.19.2

が更新されていることを確認したら

npm install -g yarn

で再度yarnが使用できるようになります。

終わりに

nodejsの更新で何で管理していたかを忘れ、うまくアップデートできませんでしたが、 管理方法を特定して検索し、その通り行うことでアップデートすることができました。

環境構築の際の一助になれば幸いです。


《あわせて読みたいこの公式ブロガーの記事一覧》



執筆者プロフィール:Satoshi Murasawa
前社ではRPAツールの技術サポート、開発を1年半経験。 SHIFTでは、バックエンドエンジニアとして入社し、node.jsやmysqlに触れはじめた。 DBに漠然とした興味があり、勉強して部の中でDB関連で役割を持つことができたらよいなと思っています。

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/

PHOTO: UnsplashKomarov Egor 🇺🇦