🚴‍♂️

【Ruby】Ruby3.1でdebaseインストール時ERROR: Failed to build gem native extension

2022/08/20に公開

概要

久しぶりにRubyを動かそうと思って、Ruby3.1でデバッグ用Gemのdebaseを動かそうとしたのですが、インストール時にERROR: Failed to build gem native extensionというエラーが発生しました。ので、今回は対応についてメモ書きします。

原因など

この記事を書いている2022年8月時点ではRuby 3.1 compatibility issueのissueがオープンになっていて、そもそもdebaseがRuby3.1に対応してるのか怪しい感はあります。。

対応

① debaseのベータ版を使う

Why can Gem install gems debase and ruby-debug-ide but Bundler cannot?のstackoverflowの記事にある通り、0.2.5.beta2のバージョンを入れれば動きそうな雰囲気があります。Won't install with ruby 2.6.6 on macOS Big Surのissueにコメントありますが、sudo gem install debase --version '>= 0.2.5.beta2'を実行することで、私は動かすことができました。
ただ、ベータ版がいつ正式リリースされるのか(2022年8月時点で既に半年以上経過している・・)ちょっと怪しい雰囲気なので、正式リリースされない限りは別の対応をとった方が安全な感じがします。

② debug.gemを使う

Ruby 3.1 の debug.gem を自慢したいにある通り、Ruby3.1では公式でdebugのgemを用意しているみたいなので、これを使います。こちらの記事でも紹介されていますが、VSCodeでデバッグする場合はVSCode rdbg Ruby Debuggerという拡張が用意されているので、これを入れます。
また、Railsをデバッグする時のlaunch.jsonは、以下のように設定したら動きました。

"configurations": [
    {
        "name": "Rails server",
        "type": "rdbg",
        "request": "launch",
        "script": "${workspaceRoot}/bin/rails",
        "args": ["server"]
    }
]

Discussion