別のバージョンが必要な場合に、最新バージョンのgemを必要とするバンドルの問題を修正するにはどうすればよいですか?
私はこれで2週間近く頭を悩ませてきました。rbenvがインストールされたUbuntu 14.04サーバーを使用して、いくつかの異なるRails Webサイトを実行しています。それらの一部は古いバージョンのRailsにあり、一部は最新バージョンにあります。 特に2つのWebサイトがあり、どちらも異なるバージョンのpuma_worker_killerが必要です。1つは0.1.0が必要で、もう1つは0.1.1が必要です。これらのWebサイトは両方ともRuby 2.5.3を使用しています。 サーバーを起動するとRAILS_ENV=dev3 bundle exec pumactl -F ./config/puma.rb start、ログに次のエラーが表示され、Webサイトがハングします。 You have already activated puma_worker_killer 0.1.1, but your Gemfile requires puma_worker_killer 0.1.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) 最初に〜/ .rbenvではなく〜/ .gemにgemをインストールしていたため、rbenvに問題があるのではないかと思ったので、すべてのルビーを〜/ .gemに入れて、正しい場所に新しくインストールしましたrbenvフォルダーを使用bundle installしても、同じ問題が引き続き発生します。 この時点で、私はこの問題についてオンラインで広範な調査を行ったことを明確にしたいと思います。これを解決するために私は多くのことができることを知っています。 バージョンとを変更するだけで十分bundle update puma_worker_killerです。 また、gem uninstall puma_worker_killer0.1.1を実行して選択することで最新バージョンを削除できることも知っていますが、これは他のWebサイトへの依存関係が満たされないことを意味します。 バンドラーのソースコードを掘り下げて調べたところ、次のコード行が原因であることがわかります。 return if activated_spec.version …