Open1
rust-analyzerがたまに見つからない@Neovimなど
事象
rust-toolchainを設定しているOSSなどで、まれにrust-analyzerを見つけられないことがある。直近だとBiomeで環境構築をしていた際に遭遇した。なお、筆者の環境はmacOSである。
VSCodeやZedなどは、基本的に独自のパスにrust-analyzerをインストールしているので(要出典)?、見つからないということはないようだが、Neovimというかrustaceanvimなどを使用していると、マシン自体のrust-analyzerを探しに行くっぽい(要出典; $HOME/.cargo/bin/rust-analyzer
のことを言ってる)
rust-toolchainではsymlinkを書き換えているのか、profileがdefault
で設定されているプロジェクトでは次のようなエラーを見かけることがある。下記のエラーが出たタイミングでは、rust-analyzerはユーザーローカルにはインストールされている状態である。
$ which rust-analyzer
/Users/helloyuki/.cargo/bin/rust-analyzer
$ rust-analyzer --version
Unknown binary 'rust-analyzer' in official toolchain '1.82.0-aarch64-apple-darwin'.
原因はおそらくなのだが、default
ではrust-analyzerが追加されないためである。
ただ、rust-toolchainはCIでも共有される設定であり、CIにおいてはrust-analyzerは不要である。なので、設定としては間違っていないのだが、開発時にはrust-analyzerがないと困ってしまう。
解決方法
当該プロジェクト配下でrust-analyzerを追加すればよい模様。
$ rustup component add rust-analyzer
これで、rustaceanvimなどもちゃんと認識してrust-analyzerが動き出した。意外に忘れてしまうので、メモしておく。