mswin (not mingw) な Ruby の開発にも向き合おうと Windows には開発環境を作っていたものの、普段は macOS のターミナルからアレコレしているので、事あるごとにキーボードであるとかターミナルをスイッチするのがだるいなあとなったので、重い腰を上げて Windows マシンに ssh して作業できるようにした。
やったことは主に以下の2つのページに書いてある OpenSSH のサーバーを入れて起動するのと、各種鍵などの設定を入れるという2つ。
sshd を起動するまでは楽勝だったのだけど、どうやっても公開鍵認証ができなくて、なんで〜と思ったら以下が原因だった。
If the user belongs to the administrator group, %programdata%/ssh/administrators_authorized_keys is used instead.
そんな...という内容だったけど、ファイルを指定された位置に配置したら難なく ssh ログインできて、PowerShell を使えるようになった。後は以下のコマンドを実行すると Visual Studio の toolchain が読み込まれた cmd シェルが起動する
cmd /k 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat' -arch=x64 -host_arch=x64
バージョン番号などは適宜読み替えてください。VSCode の remote ssh でログインして編集もできるので、大体の準備はこれで終わり。便利な世の中になったなー。
nmake test-spec
を fail 0 にしたというわけで開発できる状態になったので nmake check
を実行して落ちるテストを直していくことにした。Windows と言って msys/mingw みたいなことを持ち出してくる人がいるのだけど、msys は msys なので一緒にしないでほしい。
https://github.com/ruby/ruby/pull/9506
ざっとみると、cat とか sleep とか stat など、UNIX ツールをテストの中で使って動きません、というテストコードがあちこちにあったので、置き換えられるものは置き換えたり、スキップしたりしていた。これで nmake test-spec
についてはすべて通るようになったので、次は nmake test-all
かな。頑張ろう。