Heroku推送错误:“sprockets-2.0.0.beta.2 in any sources”

时间:2011-08-07 00:05:13

标签: ruby-on-rails ruby-on-rails-3 heroku sprockets

我正在尝试像往常一样使用以下命令将我的RoR 3.1.0.beta1项目从我的Git存储库推送到Heroku: git push heroku master

但是我收到以下错误:

-----> Heroku receiving push
-----> Rails app detected
-----> Detected Rails is not set to serve static_assets
       Installing rails3_serve_static_assets... done
-----> Configure Rails 3 to disable x-sendfile
       Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
       Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
       Unresolved dependencies detected; Installing...
       Using --without development:test
       Fetching source index for http://rubygems.org/
       Could not find sprockets-2.0.0.beta.2 in any of the sources
       FAILED: http://devcenter.heroku.com/articles/bundler
 !     Heroku push rejected, failed to install gems via Bundler

我的Gemfile有这一行: gem 'sprockets', '2.0.0.beta.2'

Sprockets版本2.0.0.beta.2的存在是因为我一直在拉不同的版本,包括这个版本。这里有什么我想念的吗?

由于

3 个答案:

答案 0 :(得分:1)

看起来此版本已从Rubygems中提取,仅列出了beta.12和beta.13:

http://rubygems.org/gems/sprockets

所以你需要从回购中获得specific beta.2 branch,正如Thariq建议的那样。

但是,我可能会选择在rubygems上列出的其中一个版本 - 必须有一个很好的理由说明它们被拉出来了;)

答案 1 :(得分:0)

因为:

,它不在rubygems上

enter image description here

您需要弄清楚从哪个来源获取gem并将其添加到gem文件的顶部,如下所示:

source 'http://rubygems.org'

gem 'rails', '3.0.5'
gem 'sqlite3'
gem 'sprockets', '2.0.0.beta.2'

gem "sprockets", "~> 1.0.2"是关于红宝石的宝石。但是,您需要找到专门托管您的版本的位置,例如http://mysite.org将其添加到gemfile的顶部。

答案 2 :(得分:0)

据推测,你一直在从Sprockets Git Repo开始。你需要告诉你的Gemfile你在哪里得到一个不在rubygems中的gem,所以在这种情况下你会使用:

gem 'sprockets', '2.0.0.beta.2', :git => 'git://github.com/sstephenson/sprockets.git'