mise + linuxbrew 環境で cargo install したバイナリが VSCode に認識されない問題
TL;DR —
miseで Rust を管理している環境では.cargo/envが no-op になる。.profileでexport PATH="$HOME/.cargo/bin:$PATH"と無条件に書くのが確実。
前の記事の RTK のバグ報告のために深夜にせこせこやってたんですよ。
で、cargo install --path . してローカルのバイナリで確認しようとしたら、Claude Code が旧バイナリを使い続ける。小一時間ハマってイライラしたので記録しておく。
症状
cargo install --path . # ローカル fix 済みバイナリをインストール
which rtk # → /home/linuxbrew/.linuxbrew/bin/rtk ← 旧バイナリ
~/.cargo/bin/rtk のはずが、linuxbrew の rtk が勝っている。
なにやっても変わらねぇ…
調査
PATH の順序
1 ~/.local/share/mise/shims
2 /home/linuxbrew/.linuxbrew/bin ← ここで rtk を拾う
...
7 ~/.cargo/bin
linuxbrew が .cargo/bin より前にいるんでよくある単純な PATH 順の問題だろうと甘く見てました。はい。
そこからはまりまくった。
.bashrc に追記しても効かない
Claude さんのおすすめにより、.bashrc 末尾に . "$HOME/.cargo/env" を追記して VSCode を再起動、結果変わらず。そりゃそうだろ。前調べた時って非インタラクティブじゃなかったっけ?