めもめも。エラーで困った人が検索して見つけて、無事解決できる事を願って。
手元のRailsのバージョンが3.2.0なんですが、Herokuの方がまだ正式対応してないんですよね。
結論としてはRails 3.2.0に対応したモードがβ版として用意されているので、それを指定してheroku create
してやる必要がありました。変更は(今はまだ)できません。一度削除して作り直しです。
出たエラー
heroku rails db:migrate
WARNING: #<ArgumentError: Illformed requirement ["#<Syck::DefaultKey:0x00000008c15900> 3.2.0"]>
# -*- encoding: utf-8 -*-
Gem::Specification.new do |s|
s.name = %q{actionpack}
s.version = "3.2.0"
...
ログを確認するとこんなのが。
heroku logs
"Could not find activemodel-3.2.0 in any of the sources"
原因
Railsのバージョンが3.2.0で、関連して他のgemもバージョンが上がっているのですが、Heroku側がそれに対応していませんでした。
Heroku側がどのバージョンの環境用なのかは、stack
というコマンドで確認できます。
heroku stack
aspen-mri-1.8.6
* bamboo-mri-1.9.2
bamboo-ree-1.8.7
cedar (beta)
いくつかあるんですね。このうちcedar (beta)
がRails 3.2.0用のものであるらしいです。
対応
使用するstackを変更……できればよいのですが、どうも作り直すしかないみたいです。
Herokuのコンソールから一度Destroy App
して、ceder
を指定してcreate
します。
heroku create --stack cedar
stackの変更について
stack自体はstack:migrate
で変更できるんですが、cedar
は駄目みたい。
heroku stack:migrate cedar
! Stack migration to/from Cedar is not available. Create a new app with --stack cedar instead.
heroku stack:migrate "cedar (beta)"
! Stack not found