👃

突然 zsh: command not found: node で node が使えなくなった

2024/12/22に公開

おこったこと

開発していると、突然 node コマンドが使えない状況になった。

$ node -v                                                                   
zsh: command not found: node

ただ、バージョン管理ツール nodenv は動いており、グローバルに node 22.4.1 が使えるはずである

dotfiles $ nodenv --version                                                  
nodenv 1.5.0
dotfiles $ nodenv versions                                                   
  10.1.0
  10.20.1
  10.24.1
  12.21.0
  16.20.2
* 22.4.1 (set by /Users/me/.nodenv/version)

PCを再起動しても、もちろん解決しない

先に結論

nodenv のシムリンクを再構築することにより、解決するようだ。

$ nodenv rehash

筆者の場合、シムリンクの再構築に失敗するので、問題のファイルを削除してから再構築するとうまくいった。

$ nodenv rehash                                                              
nodenv: cannot rehash: /Users/me/.nodenv/shims/.nodenv-shim exists
$ rm /Users/me/.nodenv/shims/.nodenv-shim                        
$ nodenv rehash                                                     
$ node -v                                                           
v22.4.1

余談

node がつかえなくなる直前に頻繁に node install を行っていたので、そこでシムリンクが壊れたものと推測する。

Discussion