トップ «前の日記(2023/10/03 (火) ) 最新 次の日記(2023/10/05 (木) )» 編集 RSS feed

HsbtDiary


2023/10/04 (水) [長年日記]

Ruby の開発で使う Mac mini を Ventura にした

macOS Sonoma が正式リリースされたので今後はアップデートが終わり EOL となる macOS Big Sur な Ruby 開発用の Mac mini マシンを Ventura にアップグレードした。

このマシンは sasadake DC に設置しているマシンなので、今回は初めてリモートで OS のメジャーアップグレードに挑戦したけど割りとどうにかなった。さすがにリモートで実際に再起動で切断 > ping して立ち上がるかどうか、ssh トンネルできるかは不安だった。

毎年、こんな感じでローリングアップデートをしているけど、EOL となる macOS の UI をみると、使いやすさは別としてとても古いなこれ...と感じるので慣れというのは不思議なものである。

使われている Gem を一覧で見るやつ

@igaiga555 が

Rubyのコード上から(=オブジェクトとして)インストールされて使われているGemパッケージ(たとえばJSONgemとかtimeout gemとか)のバージョンを取得ってできますか?

と書いていたので回答した。

https://twitter.com/igaiga555/status/1709478362702651853

個別には、いわゆる VERSION 定数を参照するというのがありつつ、RubyGems や Bundler によって activate = 読み込みされているものを出すなら Gem.loaded_specs を使うのがいいと思う。これは key が gem の名前、value が gemspec となっている Hash である。

>> Gem.loaded_specs.map{|_,v| [v.name, v.version.to_s]}
=>
[["error_highlight", "0.5.1"],
 ["did_you_mean", "1.6.3"],
 ["syntax_suggest", "1.1.0"],
 ["irb", "1.8.1"],
 ["set", "1.0.3"],
...

上の結果は手元で irb を叩いた結果だけど、rails console など Bundler.setup が呼ばれた後、もしくは irb で呼んだ上で実行すれば Gemfile に寄って制御された gem の一覧が得られる、はず。

ご活用ください。