トップ «前の日記(2025/02/13 (木) ) 最新 次の日記(2025/02/15 (土) )» 編集 RSS feed

HsbtDiary


2025/02/14 (金) [長年日記]

rbenv から mise にしつつ開発環境全体を入れ替えた

mise を使う人がちらほらと増えつつ、Rails guide でも mise を最初に勧めるという感じらしいので mise に乗り換えてみた。

https://github.com/jdx/mise

個人的に ruby-build はメンテし続ける気持ちがあるものの、rbenv はたまたま程度でしかなかったのでそれほど大きい影響ではない。mise のインストール方法とかは省略して、何を mise で管理するか、というと以下の方針にした。

  • ディレクトリやある作業の単位でバージョンを切り替える必要が出てくるものは mise
  • そうじゃないものは homebrew や cargo のグローバルインストール

具体例だと 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 のブランチメンテナがスライドした

Ruby 3.4.2 は何時ごろのリリースにして、今後のメンテはどうしますかね、というのを成瀬さんと話していて、もう k0kubun 君にやってもらうか、という話になったので以下のように話をまとめておいた。

https://bugs.ruby-lang.org/issues/21136

Ruby のリリースマネージャマネージャをやっているのでは、という感じだが、今日の時点から Ruby 3.4 は k0kubun くん、3.3 は nagachika さん、3.2 と 3.1 は自分という形になる。引き続き、コツコツ頑張っていこう。