趣味とか呟きとか

趣味ブログ。端的に言うと自己顕示欲の置き場所。絵を上げたり、本の感想書いたり、長い呟きとか。

Windows10のWSL2でRust tutorialの数当てゲームをやった際に生じた問題の解決

はじめに

 最近Rustに興味を持ったため、WSL2でRustのtutorialクリアを試みた。あとずっとWSLだったのでWSL2への移行も試みた。

 

WSLからWSL2へ

 結論としては以下を参考にする。

docs.microsoft.com

 ただし、自分は手順5で詰まった。エラー内容としては

仮想ディスク システムの制限があるため、要求された操作を完了できませんでした。仮想ハード ディスク ファイルは、圧縮と暗号化が解除されている必要があります。また、スパースにすることはできません。

という部分。説明通りにチェックボックスを外しても同じエラーが出てきた。

解決した手順:

 1. とりあえず再起動

 2. それで同じディレクトリを確認すると該当するチェックボックスにチェックがついてるため外した

 3. wsl --set-version <distribution名> <version(今回は2)>

 

Rust

 導入は以下を参考(普通にRustの日本語ドキュメントのlinux部分を参考にしてもいいと思う)

Rust をインストール - Rustプログラミング言語

 数当てゲームのtomlにrandクレートを書いてビルドする部分で以下の問題が発生した。

warning: spurious network error (2 tries remaining): failed to mmap. Could not write data: Permission denied; class=Os (2)

どうやら、クレートの導入でミスってるっぽい。このエラーで色々検索した結果、以下のサイトに辿り着いた。

forum.holochain.org

解決した手順

 1. ~/.cargo/configを作る

 2. そこに以下を書き込む

[net]

retry = 2 # network retries

git-fetch-with-cli = true # use the `git` executable for git

 3. cargo buildする

これで自分はrandの導入に成功した。現在ここまでしか進めてないので何かあれば追記する。