rails 3.2.0和heroku

嘿伙计我在使用rails 3.2.0和ruby 1.9.3时遇到了一些麻烦,我只使用rails new命令创建了一个新应用程序,我正在尝试部署到heroku。 我有以下应用错误:

应用程序中发生错误,无法提供您的页面。 请稍后重试。 如果您是应用程序所有者,请检查日志以获取详细信息。

运行heroku日志后,我收到以下错误:

无法在任何来源中找到activemodel-3.2.0

提前致谢!!!!

的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文件

 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,  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) 

Rails 3.2应用程序在Cedar上运行良好,我刚刚升级了几个应用程序以在Cedar上运行并且正在Heroku上运行。 一旦你更新了你的Gemfile和Gemfile.lock,请确保你同时提交它们并将它们都推送到Heroku。 然后Heroku将重新绑定您的应用程序以使用Rails 3.2。

顺便说一句,我没有在我的Gemfiles中的sass-rails或uglifier上指定任何版本号。

当然,您可以在推送到Heroku之前在本地运行的生产模式下进行测试,看看它是否能够正常工作。

对于它的价值,我在Heroku上遇到了同样的问题,但是在我们的一个本地部署服务器上。 我们使用Ruby 1.8.7-p72在服务器上运行。 RubyGems可耻地过时了 – 它上面有v1.3.7 。 运行gem update --system将其提升到v1.8.15 ,然后重新部署,就像一个魅力(尽管我们在日志中收到了所有invalid gemspec警告)。

不是Heroku特有的,但希望对像我一样在这里徘徊的任何Google员工都有所帮助。

今天有类似的问题。 在创建并推送新应用程序后,heroku说“无法在任何来源中找到multi_json-1.3.1”

这就是我解决它的方式:

  1. 删除本地Gemfile.lock
  2. 运行捆绑安装
  3. 再推一次=>一切顺利

使用heroku stack检查heroku stack 。 您的应用可能不在“雪松”堆栈上。 我有同样的问题,并在’雪松’上重新创建应用程序解决了这个问题。

我使用了来自“3-2-stable”的最新Rails,问题也消失了。

升级到rc2,它应该修复它

 gem 'rails', '3.2.0.rc2' 

Heroku仅支持Rails 3.1(雪松堆栈)。