0. ターミナルを起動する。
1. nvmをアップデートする。
(1) nvmのバージョンを確認する。
nvm --version
(2) アップデート
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
上記コマンドで、V0.39.7はバージョン番号を示す。nvmを配信するgithubにアクセスし、最新バージョンを把握して書き換える。
https://github.com/nvm-sh/nvm#install--update-script
(3) ターミナルを再起動する。
ターミナルを再起動しないと、最新バージョンは反映されない。
(4) nvmのバージョンを確認する。
nvm --version
上記の場合、0.39.7と表示されていればOK。
2. npmをアップデートする。
(1) npmのバージョンを確認する
npm --version
(2) アップデート
npm update -g npm
バージョンを指定する場合:
npm install -g npm@10.7.0
パーミッションでエラーとなった場合、下記操作を行う。
(2)-1 ホームディレクトリにグローバルインストール用のディレクトリを作成
mkdir ~/.npm-global
(2)-2 新しいディレクトリパスを使用するようにnpmを構成
npm config set prefix '~/.npm-global'
(2)-3 任意のテキストエディタで、~/.profileファイルを開くか作成して、次の行を追加
export PATH=~/.npm-global/bin:$PATH
(2)-4 更新
source ~/.profile
https://zenn.dev/ikeo/articles/8d0c88dcedf256b09f73
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
(2)-5 (2)を再度実行
下記のエラーとなった場合は、/.npm-globalに、libディレクトリをmkdirで作成する。
npm ERR! path /Users/(USER-NAME)/.npm-global/lib
npm ERR! enoent ENOENT: no such file or directory, lstat '/Users/(USER-NAME)/.npm-global/lib'
ネット上には上記以外の方法を記載した記事があるが、npm公式が提示しているトラブルシューティングに従うのが妥当。
(3) npmのバージョンを確認する
npm --version
(4) npmのバージョンが上がっていない場合
sudo npm install -g npm
npmのバージョンアップを実行した場合、ターミナルのコンソールに下記のようなメッセージが表示されているかを確認する。
npm WARN notsup Unsupported engine for npm@10.7.0: wanted: {"node":"^18.17.0 || >=20.5.0"} (current: {"node":"14.17.0","npm":"6.14.13"})
npm WARN notsup Not compatible with your version of node/npm: npm@10.7.0
これは、インストールされているNode.jsのバージョンが、アップデートしたnpmのバージョンに対応していないことを示している。
下記のNode.jsのアップデートを実施する。
Node.jsのアップデート後に、再度(3)を実行すれば、npmのバージョンがアップデートされていることが確認できる。
3. Node.jsのアップデート
(1) アップデート可能なNode.jsのバージョンを確認する
nvm ls-remote
(Latest LTS: Iron)と表示されているバージョンが安定版
(2) アップデート
nvm install 20.13.1
(Latest LTS: Iron)と表示されているバージョン番号の頭文字v以降の数字のみを指定する。
上記事例では、V20.13.1を指定。
(3) 利用するNode.jsのバージョン切り替え
nvm use 20.13.1
(4) 利用しているNode.jsのバージョンの確認
node -v
4. 古いNode.jsを使用しない場合
(1) アンインストール
nvm uninstall v12.16.1
上記の場合、v12.16.1がアンインストール対象。
(2) アンインストールを確認
nvm ls
v12.16.1が表示されていなければOK。
関連記事
http://iphone-app-developer.seesaa.net/article/481766405.html
https://qiita.com/FukuharaYohei/items/ecc1cb026127d77bf299
https://qiita.com/siakio/items/99817fc98c633bd3fd21
https://parashuto.com/rriver/tools/updating-node-js-and-npm#google_vignette