Claude Code を npm グローバルインストールからネイティブインストールへ移行する方法をご紹介します。
Claude Code を起動したところ、以下のメッセージが表示されました。
Claude Code has switched from npm to native installer. Run
claude installor see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options.
日本語に訳すと、
Claude Code は npm からネイティブインストーラーに切り替わりました。
claude installを実行するか、詳細なオプションについては公式ドキュメントを参照してください。
ということで、これまで Node.js のパッケージ管理ツール(npm)経由で npm install -g @anthropic-ai/claude-code としてインストールしていた Claude Code が、専用のネイティブインストーラーを使う形式に変更されたようです。
ネイティブインストーラーへの移行により、以下のようなメリットが期待できます。
指示に従って claude install を実行すると、ネイティブ版が ~/.local/bin/claude にインストールされます。
しかし、asdf で Node.js を管理している環境では、which claude を実行すると asdf の shim(~/.asdf/shims/claude)が優先されてしまい、古い npm 版が呼び出され続ける問題が発生することがあります。
以下の手順で解決できます。
asdf list nodejsasdf では、Node.js のバージョンごとにグローバルパッケージが管理されています。そのため、過去に使用したすべてのバージョンから @anthropic-ai/claude-code をアンインストールする必要があります。
一括で実行するワンライナー:
for version in $(asdf list nodejs | tr -d ' *'); do
echo "Uninstalling from nodejs $version..."
ASDF_NODEJS_VERSION=$version npm uninstall -g @anthropic-ai/claude-code 2>/dev/null
doneasdf reshim nodejs上記の手順でも shim が残っている場合は、手動で削除します。
rm -f ~/.asdf/shims/claudewhich claude
# 期待値: /Users/<username>/.local/bin/claude
claude --version~/.local/bin/claude が表示されれば、ネイティブインストーラー版が正しく使われています。
もし ~/.local/bin が PATH で asdf shims より後に設定されている場合は、シェルの設定ファイル(.zshrc や .bashrc)で順序を確認・調整してください。
# ~/.local/bin を先に読み込むようにする
export PATH="$HOME/.local/bin:$PATH"変更後は、シェルを再起動するか source ~/.zshrc を実行して設定を反映させます。
Claude Code がネイティブインストーラーに移行したことで、Node.js 環境への依存がなくなり、よりシンプルに利用できるようになりました。
asdf ユーザーは shim の優先問題に注意が必要ですが、本記事の手順に従えばスムーズに移行できます。
詳細は Claude Code 公式ドキュメント を参照してください。
以上、Claude Code をネイティブインストールへ移行した、現場からお送りしました。