Techioz Blog

同じ gem 環境内で同じ gem の 2 つのバージョンを実行する方法はありますか

概要

私の Gemfile には gem lumberg と gem openai_chatgpt が必要で、どちらも gem ファラデーに依存します。ただし、lumberg はファラデー pre v 2.0 に依存し、openai_chatgpt はファラデー post v 2.0 に依存します。ファラデー 2.0+ は大きな変更でした。

その結果、バンドラーは依存関係を解決できなくなります。

この難問を回避する方法はあるのでしょうか?

解決策

Ruby では、同じ gem の 2 つの異なるバージョンを同時にロードする方法はありません。

lumberg gem の最新バージョンは 6 年以上前のもので、メンテナンスされていないと思いますが、現在のバージョンの Ruby でまだ動作することに驚いています。

その gem をフォークし、新しいバージョンのファラデー gem で動作するように依存関係を修正することをお勧めします。