This post is also available in: 日本語 (Japanese)
Ruby on Railsのバージョンを4.2から5.0にアップグレードしようとして bundle update rails コマンドを叩いたら、以下のようなエラーが出てちょっと迷ったりしましたので、その時の対処方法のメモです。
ちなみに、railsのバージョンは5.0.0以上を既に指定しているとします。
gem 'rails', '>=5.0.0'
Bundler could not find compatible versions for gem "actionpack" Bundler could not find compatible versions for gem "activesupport":
以下のdeviseの例のように「devise (~> 4.1.1) was resolved to 4.1.1」の場合には、ものすごく簡略すると devise (~> 4.1.1) 指定だとエラーが出て、devise (~> 4.2.0)だとエラーなく通ります。
(詳しいことはgemのバージョン指定などを調べてください)
けっこうたくさんのgemでエラーが出ると思います。
要するに、下記では各gem(deviseやdoorkeeperなど)をrails5に対応したバージョンにアップデート(Gemfileを書き換えて bundle update)すれば bundle update rails がエラーなく通るようになります。
railtiesとかactionpack、activesupportとかって何だよとか思う方は、深く調べていけば良いと思います。しかし、私的には最初から単にgemをアップデートしたら良いって教えて欲しかったなと思いました。
また、アップデートは必要ですが、必ずしも最新版は必要ではないです。railsのバージョンを5.0.0に指定しているのに、rails5.1以上のバージョンが必須のgemを入れる必要とかはないという意味です。
devise (~> 4.1.1) was resolved to 4.1.1, which depends on railties (< 5.1, >= 4.1.0) doorkeeper (~> 3.1.0) was resolved to 3.1.0, which depends on railties (>= 3.2)
個別にgemをアップデートしたい場合(以下は、devise,doorkeeper)には、Gemfileを書き換えた後、以下のようなコードを叩いてアップデートします。
bundle update devise doorkeeper