やわらかテック読者になるやわらかテック興味のあること。業務を通して得られた発見。僕はRubyで何かしら開発をする時にbinding.pryというデバッグツールを愛用してきました。Rubyを書き始めたのが確か、2.3系の頃で当時からbinding.pryは非常に人気のデバッグツールでした。Rubyのバージョンアップにつれてbinding.irbが標準gemとなりインストールをしなくても使用可能になったため、最近はbinding.irbを使うようになりました。コード中にbinding.irbと挿入してIRBは立ち上がるものの、debugと入力してもエラーが表示され、デバッグ画面に遷移できませんでした。プライベートで使っているPCではdebugコマンドが使えており、この違いは何なんだろうか...と気になって調べてみました。irbのバージョンが問題だったbinding.irbはirbというgemで管理されています。最新のirbのコードを見てみると、実行可能なコマンドの一覧にdebugが定義されていることが分かります。GitHub現時点(2023/05/24)では、最新のRubyバージョンは3.3.0で使用しているirbは1.6.4のようです。標準gemなのでGemfileでの管理はされていないため、Rubyのバージョンによってirbは固定されていると考えた方が良いのいでしょうか。debugコマンドが使えなかった業務PCで使っているRubyバージョンは3.1.2で、irbは1.4.1と少し古いようです。GitHubirbが1.4.1時のコードを見ると、debugが実行可能なコマンド一覧に定義されていないことが分かりました。GitHubつまりdebugコマンドが使えなかったのはirbのバージョンが古かったからなんですね。irbがRubyの標準gemとなったことで、バージョンを全く意識していなかったので完全に盲点でした...。irbで簡単にバージョンアップ出来ました。Rubyのバージョン管理にはrbenvを使っています。1.4.1)irbのバージョンが1.3.5から1.6.4になったことで、ローカル環境ではdebugコマンドが使えるようになりました。デバッグ画面に遷移したことでbinding.pryで使っていたnextやcontinueなどのコマンドも使用可能になり、完全にbinding.irbへ移行することが出来ました。新しくGemfileにirbを追加する必要がありました。debugコマンドを使うにはdebugというgemも追加する必要があります。`./vendor/bundle`これでdebugコマンドが使えることを確認しました。標準gemになったので、Gemfileにirbとdebugを追加するのは何だかなぁ...という感じです。大人しくRubyのバージョンアップをするのが良さそうです。stackoverflow.com少しでも「ええな〜」と思ったらイイネ!・シェア!・はてなブックマークを頂けると励みになります。08:27Tweet関連記事2023-05-24ファイルをオープン(open)したらクローズ(close)しないといけない理由について僕がプログラミングを始めたばかりの頃、よく「ファイルをクロ...2023-03-03オレオレRspecを自作して覚えるRubyのブロック引数についてRubyのブロック引数についてご存じでしょうか。非常に便利な機...2023-02-28【Ruby】boolean型の値を渡すだけの関数にはキーワード引数を付与してあげようある日のこと。ゼロから学ぶなおすプログラミング言語入門...2022-12-29【ええな〜コード】OSSのコードから学ぶ設定値(configure)の作り方こちらは「ええな〜コード」の記念すべき第一本目の記事です。22:23名古屋発のベンチャーでWEBアプリのバックエンドをメインに作っています。エンジニア育成やチームビルディングにもちょっとだけ携わっています。3はてなブログをはじめよう!takamizawa46さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。