问题
Hey Guys I'm having some troubles with rails 3.2.0 & ruby 1.9.3, I only created a new app with rails new command and I'm trying to deploy to heroku. I'm having the following app error:
An error occurred in the application and your page could not be served. Please try again in a few moments. If you are the application owner, check your logs for details.
After run heroku logs I get the following error:
Could not find activemodel-3.2.0 in any of the sources
Thanks in advance!!!!
GemFile
source 'https://rubygems.org'
gem 'rails', '3.2.0'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
Gemfile.lock file
GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.0)
actionpack (= 3.2.0)
mail (~> 2.4.0)
actionpack (3.2.0)
activemodel (= 3.2.0)
activesupport (= 3.2.0)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.0)
rack (~> 1.4.0)
rack-cache (~> 1.1)
rack-test (~> 0.6.1)
sprockets (~> 2.1.2)
activemodel (3.2.0)
activesupport (= 3.2.0)
builder (~> 3.0.0)
activerecord (3.2.0)
activemodel (= 3.2.0)
activesupport (= 3.2.0)
arel (~> 3.0.0)
tzinfo (~> 0.3.29)
activeresource (3.2.0)
activemodel (= 3.2.0)
activesupport (= 3.2.0)
activesupport (3.2.0)
i18n (~> 0.6)
multi_json (~> 1.0)
arel (3.0.0)
builder (3.0.0)
coffee-rails (3.2.1)
coffee-script (>= 2.2.0)
railties (~> 3.2.0.beta)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.2.0)
erubis (2.7.0)
execjs (1.3.0)
multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.0)
jquery-rails (2.0.0)
railties (>= 3.2.0.beta, < 5.0)
thor (~> 0.14)
json (1.6.5)
mail (2.4.1)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.17.2)
multi_json (1.0.4)
polyglot (0.3.3)
rack (1.4.0)
rack-cache (1.1)
rack (>= 0.4)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.2.0)
actionmailer (= 3.2.0)
actionpack (= 3.2.0)
activerecord (= 3.2.0)
activeresource (= 3.2.0)
activesupport (= 3.2.0)
bundler (~> 1.0)
railties (= 3.2.0)
railties (3.2.0)
actionpack (= 3.2.0)
activesupport (= 3.2.0)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
rdoc (3.12)
json (~> 1.4)
sass (3.1.12)
sass-rails (3.2.3)
railties (~> 3.2.0.beta)
sass (>= 3.1.10)
tilt (~> 1.3)
sprockets (2.1.2)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.5)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.31)
uglifier (1.2.2)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
PLATFORMS
ruby
DEPENDENCIES
coffee-rails (~> 3.2.1)
jquery-rails
rails (= 3.2.0)
sass-rails (~> 3.2.3)
sqlite3
uglifier (>= 1.0.3)
回答1:
Rails 3.2 applications run fine on Cedar, I've just upgraded several applications to run on Cedar and are running on Heroku. Once you've updated your Gemfile and Gemfile.lock make sure you commit them both and push them both to Heroku. Heroku will then rebundle your application to use Rails 3.2.
Incidentally, I don't specify any version numbers on sass-rails or uglifier in my Gemfiles.
Of course, you can test in production mode running locally before you push to Heroku to see if it's going to work.
回答2:
For what it's worth, I had this same problem not on Heroku, but on one of our local deployment servers. We were running on a server with Ruby 1.8.7-p72
. RubyGems was shamefully out of date — it had v1.3.7
on it. Running a gem update --system
to bump it up to v1.8.15
, and then redeploying, worked like a charm (despite all the invalid gemspec
warnings we received in the log).
Not specific to Heroku, but hopefully helpful to any Googlers that come wandering in here like I did.
回答3:
Had a similar problem today. After creating and pushing a new app, heroku said "Could not find multi_json-1.3.1 in any of the sources"
This is how I solved it:
- Delete local Gemfile.lock
- Run bundle install
- Push again => Everything works well
回答4:
Check the stack by using heroku stack
. Your app might not be on 'cedar' stack. I had the same issue and re-creating the app on 'cedar' resolved the issue.
回答5:
I used latest Rails from "3-2-stable" and the problem has also gone.
回答6:
upgrade to rc2 and it should fix it
gem 'rails', '3.2.0.rc2'
回答7:
Heroku only supports up to Rails 3.1 (cedar stack).
来源:https://stackoverflow.com/questions/8953338/rails-3-2-0-and-heroku