@ledsun blog

無味の味は佳境に入らざればすなわち知れず

WSL上のUbuntuにrustをインストールする

Ruby 3.2.0がリリースされました。 rbenv + ruby-buildをつかってインストールできます。 Ruby 3.2.0のYJITを有効にするにはrustcがある環境でコンパイルする必要があります。 WSLにrustをインストールしていませんでした。 インストールします。

www.rust-lang.org

をみると、WSL用のガイダンスが大きく掲載されています。

WSL用のガイダンス

これに従って

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

を実行します。 成功します。 が、fish-shellではrustcコマンドが見つかりません。

インストール後の表示にsource "$HOME/.cargo/env"するようにアナウンスがでます。 しかしfish-shellではsource "$HOME/.cargo/env"の実行に失敗します。

source "$HOME/.cargo/env"の実行に失敗します。

検索したら Rustをインストール - macOS & fish-shellの場合 - Qiita が見つかりました。 OSは違いますがfash-shell用の設定が書いてありました。

一時的に設定する場合は

set -gx PATH "$HOME/.cargo/bin" $PATH;

永続的に設定する場合は

 set -U fish_user_paths $fish_user_paths $HOME/.cargo/bin

です。

親切ですね。 よく見ると rust の GitHub issueへのリンクが書いてあります。 年のために見ておきましょう。

https://github.com/rust-lang/rustup/issues/478#issuecomment-1288194464

For fish 3.2.0 or upper, released in March 2021, the easiest way to add rust to path permanently is like that:

fish_add_path $HOME/.cargo/bin

今のfish-shellはfish_add_pathと言うコマンドで環境変数PATHを設定するみたいです。

rustcコマンドが呼び出せるようになったところ

一つ賢くなりました。 Qiitaの記事とか書いておくもんですね。 4年前の自分に助けられました。