朝起きたら k0kubun 君が 3.4.2 をリリースしようとしていたので workflow が流れていくのを見守りつつ、Ruby 3.1 の Windows CI が落ちているのでなんだこれ、と調べていた。
https://github.com/ruby/actions/commit/970df8aed96815adff43eb8daebfcc95bfbb7853
理由は上の修正のように vcpkg を使って依存ライブラリを入れているのに --with-openssl-dir="C:/Program Files/OpenSSL-Win64"
というようにプリインストールされている OpenSSL のバイナリを参照してテストをしていて、それが原因だった。ちょうど vcpkg で壊れにくい仕組みにしていったのが 3.3-3.4 の時期なので中途半端に残っていたのだろうなあ。
3.4.2 のリリースの方はというと OpenSSL の最新版を取得する処理がぶっ壊れていたので k0kubun 君にお願いして何回か修正 & テストをしてなんとかなった。
https://github.com/ruby/ruby/commit/2556a975c7bcf9eead469a655e5d42aef06116c9
上記を直した後は docker image のビルドや ruby-build の定義追加などがちゃんと動いたようで良かった。
https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/
土曜なので snap とか all-ruby の更新は週明けにして、ruby-build だけリリースして終わり。お疲れ様でした。
ついにやってきた、という感じではあるがマンションの組合の理事就任のお願い、が来たのでマンションの管理組合の総会に参加しつつ理事になってきた。
基本、持ち回りとなっていて余程の理由がない限りは拒否することができない、という規約になっているので、まあやるしかないか、と真面目に会計を見たり、直近の要望であるとか取り組みなどをざっくりと把握するだけでこの日は終わり。
mise を使う人がちらほらと増えつつ、Rails guide でも mise を最初に勧めるという感じらしいので mise に乗り換えてみた。
個人的に ruby-build はメンテし続ける気持ちがあるものの、rbenv はたまたま程度でしかなかったのでそれほど大きい影響ではない。mise のインストール方法とかは省略して、何を mise で管理するか、というと以下の方針にした。
具体例だと Ruby とか JRuby のための JDK などは mise にするが、1passowrd とか ripgrep などはバージョンを切り替えたいことなどないので homebrew または cargo って感じ。
mise i ruby@ruby-dev
とか mise i mysql
などでバンバンインストールしてから homebrew からは uninstall/untap をして終わり。自分くらいしか必要ないと思うけど mise のインストールディレクトリに X.Y-dev
と 3.1 未満の latest stable バージョンの Ruby を全部インストールするには以下の二つの script を使うと良い。
3.3-dev
などを 3.3.0 から 3.3.7 まで全部 symlink 貼ってしまうので、Gemfile の書き方によっては動かなくなるかもしれない。ただ Ruby において tiny バージョンを固定する意味あんの?と思うので、そういう人は頑張ってください。
あとは GEM_HOME に放り込んでいる C 拡張のライブラリのうち libruby.so を参照しているやつは動かなくなったので全部消して rebuild して対応した。bigdecimal とかなんだけど、これあんま良くないよなあ。ここまできて rbenv は不要になったので .local/share/rbenv
を丸ごと消して終わり。いくつか手元でメンテしているスクリプトが rbenv を前提としたものだったので全部書き換えておいた。
あと、heroku cli も移行しようかなと mise で入れてみたけど結構放置されているようで v10 ではなく v9 をインストールしてどうしようもない、という感じだったので mise でも homebrew でも管理するのをやめて npm i -g heroku@10.1.0
で使うことにした。あと rust は rustup の方がいいのでは?とか。
なんとなく mise はjq と組み合わせたりするとなかなか面白く toolchain を活用できる気配がしてあれこれやってしまい、奥が深い症候群になりがちないいツールだな、という印象だった。しばらくはこれで暮らしてみる。
Ruby 3.4.2 は何時ごろのリリースにして、今後のメンテはどうしますかね、というのを成瀬さんと話していて、もう k0kubun 君にやってもらうか、という話になったので以下のように話をまとめておいた。
https://bugs.ruby-lang.org/issues/21136
Ruby のリリースマネージャマネージャをやっているのでは、という感じだが、今日の時点から Ruby 3.4 は k0kubun くん、3.3 は nagachika さん、3.2 と 3.1 は自分という形になる。引き続き、コツコツ頑張っていこう。
毎月開催している Matz を交えての Ruby 開発者会議の 2 月開催に参加してきた。
https://bugs.ruby-lang.org/issues/21019
net-http の content type をデフォルトではつけないで、というやつについては、削ってみましょうかね、ということで進めることになった。ただ雑に消しただけだとテストが落ちまくるので直さないとなあという状況。
RJIT が fiddle を bundled gems にしたことで色々と動かすのが大変になって不安定、という状況だったのは k0kubun 君が rjit gem にしますよ、と進めてくれたので「そんなことできるんだ」という感じで解決されそうで助かった。小さいあれこれがたくさん出てきたので、コツコツと進めていこう。
Kindle Unlimited で読める地球の歩き方を適当に選んで読んでみた。ニウエというのはどこ?というレベルから始まって読み進めていたら、太平洋の島国だった。
いくことはあまりなさそうだなあ、と思いつつも、島の中に大統領府や裁判所など国の全機能があって、それはそうか、となるとともに地図や施設を眺めるだけでそれなりには面白かった。
詰んだままではいかん、ということで 1 月の 100分de名著の「安克昌 心の傷を癒すということ」を読んだ。
阪神淡路大震災は覚えているものの、安克昌という名前は全く知らず、トラウマや震災時の精神面のケアに取り組んでいた人がいたということ自体が驚きだったのだけど、当時の話と患者のその後という部分はとても良かった。まだまだ知らないことだらけだなあ。
NHK 100分 de 名著 安克昌 『心の傷を癒すということ』 2025年 1月 [雑誌] (NHKテキスト)
NHK出版
¥594