2

我正在尝试像往常一样使用以下命令将我的 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 存在是因为我一直在拉不同的版本,包括这个版本。我在这里缺少什么吗?

谢谢

4

3 回答 3

1

看起来这个版本是从 Rubygems 中提取的,只列出了 beta.12 和 beta.13:

http://rubygems.org/gems/sprockets

因此,正如 Thariq 建议的那样,您需要从存储库中获取特定的 beta.2 分支。

但是,我可能会选择 ruby​​gems 上列出的版本之一——它们被拉出一定有充分的理由;)

于 2011-08-08T15:34:31.880 回答
0

它不在 ruby​​gems 上,因为:

在此处输入图像描述

您需要弄清楚您从哪个来源获取 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.

于 2011-08-07T01:07:07.807 回答
0

大概你已经从Sprockets Git Repo中提取了。你需要告诉你的 Gemfile 你从哪里得到一个不在 ruby​​gems 中的 gem,所以在这种情况下你可以使用:

gem 'sprockets', '2.0.0.beta.2', :git => 'git://github.com/sstephenson/sprockets.git'
于 2011-08-07T01:17:40.793 回答