トップ «前の日記(2026/01/25 (日) ) 最新 次の日記(2026/01/27 (火) )» 編集 RSS feed

HsbtDiary


2026/01/26 (月) [長年日記]

バラの冬剪定

少し遅くなったけどバラの冬剪定をした。

これくらい葉が残ってわしゃわしゃしているのを

くらいバッサリ切った。バラというか樹木系の花は放っておいたら大きくなって花が咲くというものではなくて、新芽をしっかり出して花を咲かせるというのが重要なので、バシバシ切ってしまった。春に向けてちゃんと咲いてくれ!

bundler-why-plugin というのを作った

https://github.com/ruby/rubygems/issues/6583 という issue があり、yarn why みたいに bundle why をしたいという要望を満たす bundler-why-plugin というのを作った。というより copilot に作らせた。

https://github.com/jaredbeck/bundler-why というのはあるけど、これは OSS ではないという指摘があり、確かになあという感じだったので、自分で適当に作ったのがこれ。

https://github.com/hsbt/bundler-why-plugin

使い方などは README.md 以上のものはないんだけど

$ bundle plugin install bundler-why-plugin

として

$ bundle why gemname

と実行すると

❯ bundle why ffi
ffi (1.17.3)

Directly required by:
  ├── libddwaf (1.30.0.0.0) [~> 1.0]
  │     └── datadog (2.26.0) [~> 1.30.0.0.0]
  └── rb-inotify (0.11.1) [~> 1.0]
        └── listen (3.10.0) [~> 0.9, >= 0.9.10]

という結果が得られます。bundle install などを実行して、ffi ってどこから使ってんの?というのがこれを見れば、datadog と listen の依存であるというのが瞬時にわかるので、この2つの gem がもし不要なら消してしまえば ffi も不要ということがわかる、というものです。

人や用途によっては便利かもしれないのでご活用ください。yarn why のユースケースをちゃんとわかってないので、こういう情報も欲しいとかあれば教えてください。人気があるのであれば、bundler 本体にも組み込むのを検討します。

本日のツッコミ(全1件) [ツッコミを入れる]
# willnet (2026/01/29 (木) 11:03)

dependabotから知らないgemのアップグレードPRがきたときに「これどの依存で使われてるの?」となってGemfile.lockを眺めることがあるのでbundle whyべんりだと思います!