【Ruby】Ruby3.1でdebaseインストール時ERROR: Failed to build gem native extension
概要
久しぶりに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