パソコンオンチ①
※isucon の過去問を解こうと、パソコンオンチがアワアワしているだけの記事です。アワついている人間を見たい人向けです。
WSL2上に↓を環境構築しようとしています
https://github.com/matsuu/wsl-isucon10-qualifier
①構築に失敗する
→Microsoft StoreからWSLをインストールしたらなおった(なんか元から入ってるやつではだめらしい)
→エラーが出まくっているのはRustのビルド部分ぽいので、無視します。
②ベンチマーク ではなく、初期化
先にベンチ回そうとして動かん動かんと嘆いていました。
isuumo/initial-dataで初期化が必要だよ(それはそう)
→pip3 install -r requirements.txt が権限でダメだよーと出るので--userをつけて実行します
→go get github.com/orisano/wayt をすると、unrecognized import path "io/fs": import path does not begin with hostname と怒られる
→Goのバージョンが古いのが原因なので、/home/isucon/local/goを削除してから、再インストールする
curl -LO https://go.dev/dl/go1.18.4.linux-amd64.tar.gz sudo tar -C /home/isucon/local -xzf go1.18.4.linux-amd64.tar.gz
↑これがとてもつらかった。なぜかGoフォルダが二つある上に中身は同じっぽい(/home/isucon/goと/home/isucon/local/go)。go envを叩くとGOPATHは前者を、GOROOTは後者を指してて何が違うねんとなります。そして前者を入れ替えたら効果がなかった……。
ここで分からなかったので他人に丸投げして泣きつきます。3分クッキングか?
後者のGoを入れ替えて、もいちどgo getすると怒られます。getは使わないそうです。そこでgo installするとまた権限で怒られます。755してもまだ足りなかったので✨sudo chmod 777✨します。するとようやくio/fsのimportがうまくいきます。やったー
~ここまではブログを書く気が起きる前だったので全然スクショやエラー文がないです~
→makeするとdocker-composeがないぞ!と言われるので、Docker Desktopで下記の設定でチェック入れます
さらに、下記のエラー文が出た場合は、/isuumo/webapp/go/DockerFileのwgetをcurl -LOに直します(なぜか分からないけれどChat GPTがそうしろと言っているから……)
> [4/9] RUN wget https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-linux-amd64-v0.6.1.tar.gz && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-v0.6.1.tar.gz && rm dockerize-linux-amd64-v0.6.1.tar.gz: #0 0.749 --2023-06-10 19:22:09-- https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-linux-amd64-v0.6.1.tar.gz #0 0.765 Resolving github.com (github.com)... failed: No address associated with hostname. #0 0.871 wget: unable to resolve host address 'github.com'
これが無事通ったら/home/isucon/isuumo/webappに移動してREADMEの通りにしてあげると、
動いた!!!!!!!!!!
アプリ動いたしまずはベンチマークや!!!
キエ~~~~~~ッッッッッッ
go mod tidy で不足しているパッケージとやらを勝手に入れてくれました 賢いな……
そのあとにgithub.com/isucon10-qualify/isucon10-qualify/benchにあるscenario、client、assertを1こずつダウンロードしてからもう一回makeしたらビルドが通りました。
今度こそまわすぜ
やりました。こいつをどんどん直していけばいいわけですね!
②は、パソコンオンチがIikanji Speed Upをがんばります。以上!