トップ «前の日記(2026/04/19 (日) ) 最新 次の日記(2026/04/21 (火) )» 編集 RSS feed

HsbtDiary


2026/04/20 (月) [長年日記]

Bundler の orverride 仕様を考えていた

日本にいち早く到着した byroot が https://byroot.github.io/ruby/bundler/2026/04/20/bundle-features.html というブログエントリを公開していて、パフォーマンスもだけど Bundler でほしいのはこの機能、として

  • 依存 gem のバージョン制約を上書きする機能
  • 依存 gem A をそっくり B に置き換える機能

の2つを解説していて、その理由は Gemfile とそれを使ってどう動かすかは Gemfile を持っているユーザーの権利だから、ということが述べられていて、それはそう、となったので仕様を検討してみた。

もともと、https://github.com/ruby/rubygems/pull/9454 として required_ruby_version などだけに限って無視する機能は用意していて、毎年 Ruby の新しいバージョンのリリースのたびに「grpc がインストールできんのだが」とだるいのを回避するための手段ではあったのだけど、byroot が希望しているバージョン制約を上書きする機能にマージすることにした。

また ufuk がすでに https://github.com/Shopify/bundler-ignore-dependency として bundler plugin で実現する PoC も用意しているのを知ったので、この実装や各種提案、ブログエントリと共に claude と壁打ちしながら「こんなんでどうすか」というのを用意した。

https://github.com/ruby/rubygems/discussions/9494

長い英語よくわからないのが多いけど、関連する議論を claude に入れて、論点洗い出して、それはAを採用する、考慮することは?... などと2-3時間やって仕様を固めた後に「で、これ作れるの?」という質問に「作れます」と断言してきたのでよしとして公開するという順序で作業した。

一旦 byroot に感触を聞いてから実装に進もうと思う。

NEWS.md 更新ツールが実行毎に footnote を更新するのを直した

claude に作らせた NEWS.md にバージョン差分と releases を追記するツールが、実行するたびに NEWS.md を A から B へ、B から A へ、を繰り返し更新するような挙動になっていたので「直せ」と指示して直した。

https://github.com/ruby/ruby/commit/6e9ad14db9260090aa5f055d6ed123632efdf75b

どうやら state が変わり続けるような実装になっていたのが原因らしく、固定するようにしたことで収まったようだった。

北海道行きの荷造り

21日から1週間以上北海道に行くのであれこれ荷造り。宿泊を伴う旅行に出かけるのは減っているとはいえそれなりに蓄積はあるので、着替えと macOS/iPad、充電回りだけ放り込んであとは汎用の旅行グッズで準備は完了した。

ただ、せっかく日本に来る友人/知人に何かお土産を、と用意したものを詰め込み出したら一人用のトランクケースだと全然ダメだったのでサイズを大きくして入れ替えなどしていた。旅行、行く前日が一番憂鬱なんだよなあ。