2024年05月15日

Node.js、npm、nvmをアップデートする

Node.jsをバージョンアップする前に、nvm(Node Version Manager)、npm(Node Package Manager)をバージョンアップしておく。


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

"Error: EACCES: permission denied"と表示され、パーミッションでエラーとなった場合、下記操作を行う。

(2)-1 ホームディレクトリにグローバルインストール用のディレクトリを作成
mkdir ~/.npm-global


(2)-2 新しいディレクトリパスを使用するようにnpmを構成
npm config set prefix '~/.npm-global'


(2)-3 viなど任意のテキストエディタで、~/.profileファイルを開くか作成して、次の行を追加
export PATH=~/.npm-global/bin:$PATH


viの起動
vi .profile

viの保存&終了コマンド
:wq 保存して終了
:q! 編集内容を破棄して終了

(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

2026年:
npmのバージョンアップを実行した場合、ターミナルのコンソールに下記のようなエラーメッセージは、アップデートした新しいnpmがアップデート前の古いNode.jsをサポートしなくなったことが理由であり、後の手順でNode.jsを最新バージョンにアップデートすることにより解決するので、無視してよい。
npm warn cli npm v11.13.0 does not support Node.js v20.13.1. This version of npm supports the following node versions: `^20.17.0 || >=22.9.0`. You can find the latest version at https://nodejs.org/.


2024年:
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: xxxx)と表示されているバージョンが安定版

(2) アップデート
nvm install 20.13.1

(Latest LTS: xxxx)と表示されているバージョン番号の頭文字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
posted by mobileDeveloper at 12:37 | Comment(0) | TrackBack(0) | その他 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック