QA@IT
«回答へ戻る

つながりが不自然になった文を修正

612
 
 rails 4.0.0 では当然 railties も 4.0 を使います。しかしながら railties 4.0 は devise 2.2.4 で指定されている `~> 3.1` という制限(メジャーバージョン3固定、マイナーバージョンが1以上)を満たせません。このため、 devise 2.2.4 は使用を見送られることになります。
 
-結果的に、古いながらそのような条件が指定されておらず(今となっては指定が不十分と言える) 1.5.4 が *選ばれてしまった* ということになるでしょう。
+結果的に、古いながらそのような条件が指定されていない(今となっては指定が不十分と言える) 1.5.4 が *選ばれてしまった* ということになるでしょう。

Gemfileに

source 'https://rubygems.org'
gem 'devise'

とだけ書けば devise 2.2.4 がインストールされましたが、

source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'devise'

だと devise 1.5.4 になりますね。

gemspecによると、devise 1.5.4 の依存は

  • warden ~> 1.1
  • orm_adapter ~> 0.0.3
  • bcrypt-ruby ~> 3.0

一方 devise 2.2.4 は

  • warden ~> 1.2.1
  • orm_adapter ~> 0.1
  • bcrypt-ruby ~> 3.0
  • railties ~> 3.1

です。

rails 4.0.0 では当然 railties も 4.0 を使います。しかしながら railties 4.0 は devise 2.2.4 で指定されている ~> 3.1 という制限(メジャーバージョン3固定、マイナーバージョンが1以上)を満たせません。このため、 devise 2.2.4 は使用を見送られることになります。

結果的に、古いながらそのような条件が指定されていない(今となっては指定が不十分と言える) 1.5.4 が 選ばれてしまった ということになるでしょう。

Gemfileに

~~~~ruby
source 'https://rubygems.org'
gem 'devise'
~~~~

とだけ書けば devise 2.2.4 がインストールされましたが、


~~~~ruby
source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'devise'
~~~~

だと devise 1.5.4 になりますね。

gemspecによると、devise 1.5.4 の依存は

* warden `~> 1.1`
* orm_adapter `~> 0.0.3`
* bcrypt-ruby `~> 3.0`

一方 devise 2.2.4 は

* warden `~> 1.2.1`
* orm_adapter `~> 0.1`
* bcrypt-ruby `~> 3.0`
* railties `~> 3.1`

です。

rails 4.0.0 では当然 railties も 4.0 を使います。しかしながら railties 4.0 は devise 2.2.4 で指定されている `~> 3.1` という制限(メジャーバージョン3固定、マイナーバージョンが1以上)を満たせません。このため、 devise 2.2.4 は使用を見送られることになります。

結果的に、古いながらそのような条件が指定されていない(今となっては指定が不十分と言える) 1.5.4 が *選ばれてしまった* ということになるでしょう。

回答を投稿

Gemfileに

source 'https://rubygems.org'
gem 'devise'

とだけ書けば devise 2.2.4 がインストールされましたが、

source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'devise'

だと devise 1.5.4 になりますね。

gemspecによると、devise 1.5.4 の依存は

  • warden ~> 1.1
  • orm_adapter ~> 0.0.3
  • bcrypt-ruby ~> 3.0

一方 devise 2.2.4 は

  • warden ~> 1.2.1
  • orm_adapter ~> 0.1
  • bcrypt-ruby ~> 3.0
  • railties ~> 3.1

です。

rails 4.0.0 では当然 railties も 4.0 を使います。しかしながら railties 4.0 は devise 2.2.4 で指定されている ~> 3.1 という制限(メジャーバージョン3固定、マイナーバージョンが1以上)を満たせません。このため、 devise 2.2.4 は使用を見送られることになります。

結果的に、古いながらそのような条件が指定されておらず(今となっては指定が不十分と言える) 1.5.4 が 選ばれてしまった ということになるでしょう。

Gemfileに

~~~~ruby
source 'https://rubygems.org'
gem 'devise'
~~~~

とだけ書けば devise 2.2.4 がインストールされましたが、


~~~~ruby
source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'devise'
~~~~

だと devise 1.5.4 になりますね。

gemspecによると、devise 1.5.4 の依存は

* warden `~> 1.1`
* orm_adapter `~> 0.0.3`
* bcrypt-ruby `~> 3.0`

一方 devise 2.2.4 は

* warden `~> 1.2.1`
* orm_adapter `~> 0.1`
* bcrypt-ruby `~> 3.0`
* railties `~> 3.1`

です。

rails 4.0.0 では当然 railties も 4.0 を使います。しかしながら railties 4.0 は devise 2.2.4 で指定されている `~> 3.1` という制限(メジャーバージョン3固定、マイナーバージョンが1以上)を満たせません。このため、 devise 2.2.4 は使用を見送られることになります。

結果的に、古いながらそのような条件が指定されておらず(今となっては指定が不十分と言える) 1.5.4 が *選ばれてしまった* ということになるでしょう。