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の更新で何で管理していたかを忘れ、うまくアップデートできませんでしたが、 管理方法を特定して検索し、その通り行うことでアップデートすることができました。
環境構築の際の一助になれば幸いです。
《あわせて読みたいこの公式ブロガーの記事一覧》
お問合せはお気軽に
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: UnsplashのKomarov Egor 🇺🇦