nodeはasdfで複数バージョンを切り替えて使っているのだが、nodeパッケージのインストール先がおかしくなっていることに気がついた。
/Users/[ユーザ名]/.asdf/installs/nodejs/[nodeバージョン]/libに入って欲しいのだが、/opt/homebrew/lib/node_modules/ にインストールされてしまっている。
- configの様子
% npm config list
; "builtin" config from /opt/homebrew/lib/node_modules/npm/npmrc
prefix = "/opt/homebrew"
; node bin location = /Users/[ユーザ名]/.asdf/installs/nodejs/22.14.0/bin/node
; node version = v22.14.0
; npm local prefix = /Users/[ユーザ名]
; npm version = 11.12.0
; cwd = /Users/[ユーザ名]
; HOME = /Users/[ユーザ名]
; Run `npm config ls -l` to show all defaults.
%
おそらくgemini-cliを入れた時に入ったhomebrewのnodeが、/opt/homebrew/lib/node_modules/npm/npmrcを作成して、それがasdfのnodeでのnpmの実行時にも読まれてしまっているので問題かと思われる。
Homebrewのgemini-cliとnodejsはもうつかっていないのでアンインストールし、/opt/homebrew/lib/node_modules/npm/npmrcを削除して修正。
% npm list -g
/Users/[ユーザ名]/.asdf/installs/nodejs/22.14.0/lib
├── corepack@0.31.0
└── npm@10.9.2