WSL2 で Rust をこわごわと触ってみる
WSL ディストリビューションをアンインストールするにはどうすればよいですか。
WSL からディストリビューションを削除し、その Linux ディストリビューションに関連付けられているすべてのデータを削除するには、
wsl --unregister <distroName>
を実行します。ここで、<distroName>
には Linux ディストリビューションの名前を指定します。これは、wsl -l
コマンドの一覧から確認できます。
Ubuntuを一度削除してから再インストール
> wsl --unregister ubuntu
> wsl --install
確認してみる
> wsl -l -v
NAME STATE VERSION
* docker-desktop-data Stopped 2
docker-desktop Stopped 2
Ubuntu Stopped 2
Ubuntuをデフォルトにしておく
wsl --set-default Ubuntu
確認
> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop Stopped 2
docker-desktop-data Stopped 2
だいたいガイドラインを見ながら作業する。
Rustをインストール
(言語学習目的でwsl入れるので…)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
コマンドを入れてしばらく待つ。
Rust is installed now. Great!
とターミナルに表示されたので、指示通りに
. "$HOME/.cargo/env"
を実行した。(windows terminalで作業していた)
バージョン確認してみる。
$ rustc --version
rustc 1.85.0 (4d91de4e4 2025-02-17)
. "$HOME/.cargo/env"
の.
はsource
コマンドの省略形
リンカをインストール
You will also need a linker, which is a program that Rust uses to join its compiled outputs into one file. It is likely you already have one. If you get linker errors, you should install a C compiler, which will typically include a linker. A C compiler is also useful because some common Rust packages depend on C code and will need a C compiler.
Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the
build-essential
package.
https://doc.rust-lang.org/book/ch01-01-installation.html
cc, gcc, clang 入ってなかったので…Ubuntuなのでbuild-essential
を入れます。
$ sudo apt install build-essential
めちゃくちゃいっぱい入ってきた(体感)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
bzip2 cpp cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu
g++-x86-64-linux-gnu gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libaom3 libasan8 libatomic1 libc-dev-bin libc-devtools libc6-dev
libcc1-0 libcrypt-dev libde265-0 libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-13-dev libgd3 libgomp1
libheif-plugin-aomdec libheif-plugin-aomenc libheif-plugin-libde265 libheif1 libhwasan0 libisl23 libitm1 liblsan0
libmpc3 libquadmath0 libstdc++-13-dev libtsan2 libubsan1 libxpm4 linux-libc-dev lto-disabled-list make manpages-dev
rpcsvc-proto
Suggested packages:
bzip2-doc cpp-doc gcc-13-locales cpp-13-doc debian-keyring g++-multilib g++-13-multilib gcc-13-doc gcc-multilib
autoconf automake libtool flex bison gdb gcc-doc gcc-13-multilib gdb-x86-64-linux-gnu glibc-doc bzr libgd-tools
libheif-plugin-x265 libheif-plugin-ffmpegdec libheif-plugin-jpegdec libheif-plugin-jpegenc libheif-plugin-j2kdec
libheif-plugin-j2kenc libheif-plugin-rav1e libheif-plugin-svtenc libstdc++-13-doc make-doc
The following NEW packages will be installed:
build-essential bzip2 cpp cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu dpkg-dev fakeroot g++ g++-13
g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu
libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libaom3 libasan8 libatomic1 libc-dev-bin
libc-devtools libc6-dev libcc1-0 libcrypt-dev libde265-0 libdpkg-perl libfakeroot libfile-fcntllock-perl
libgcc-13-dev libgd3 libgomp1 libheif-plugin-aomdec libheif-plugin-aomenc libheif-plugin-libde265 libheif1
libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libquadmath0 libstdc++-13-dev libtsan2 libubsan1 libxpm4 linux-libc-dev
lto-disabled-list make manpages-dev rpcsvc-proto
0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded.
Need to get 71.3 MB of archives.
After this operation, 242 MB of additional disk space will be used.
gitのアップデート
$ git --version
git version 2.43.0
公式サイトを参照し、アップデートしてみる。
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt update
$ sudo apt install git
バージョン確認。
$ git --version
git version 2.48.1
とりあえずハローワールド&ハローカーゴ。
cargo new hello
cd hello
cargo run
fn main() {
println!("Hello, world!");
}
cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s
Running `target/debug/hello`
Hello, world!
tree
コマンドがなかったのでここで入れたりする。
sudo apt update
sudo apt install tree
あると嬉しい。
rust-analyzerをVSCodeの拡張機能としてインストールしました。