在Heroku上部署失败:无法在任何来源中找到devise-1.4.4

时间:2011-10-18 03:30:22

标签: ruby-on-rails git heroku

我遵循Getting Started with Heroku的部署文章。

我尝试将我的应用部署到heroku。一开始我遇到了这个问题

-----> 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 devise-1.4.4 in any of the sources
   FAILED: http://devcenter.heroku.com/articles/bundler
   Heroku push rejected, failed to install gems via Bundler

然后我尝试了一些解决方案,例如heroku-deploy-cant-find-devise-1-4-6。 我按照这些步骤进行了

bundle update 
git add .
git commit -a "please work"
git push heroku master

但仍有问题。 这是我的Gemfile

source 'http://rubygems.org'
 gem 'rails', '3.0.9'  
 gem 'kaminari'
 gem "paperclip", "~> 2.4"
 gem "devise"
 gem 'web-app-theme', '>= 0.6.2'
 gem 'gmaps4rails'
 gem 'populator'
 gem 'mysql2', '~> 0.2.6'
 gem 'capistrano'

和Gemfile.lock

 ...
 capistrano-ext (1.2.1)
 capistrano (>= 1.0.0)
 cocaine (0.2.0)
 crack (0.3.1)
 devise (1.4.8)
  bcrypt-ruby (~> 3.0)
  orm_adapter (~> 0.0.3)
  warden (~> 1.0.3)
  ...

看起来很不错。

但为什么它仍有同样的问题。

Could not find devise-1.4.4 in any of the sources

为什么我的Gemfile.lock使用设计1.4.8但它仍然部署了设计1.4.4?我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

RubyGems上的

Devise 1.4.4 was yanked,你需要使用任何大于1.4.4的版本。

您似乎没有在任何来源中使用1.4.4。确保指定版本,否则其他宝石可能会强制捆绑者使用被抽取的版本。

# Gemfile
gem "devise", "~> 1.4.8"

然后运行

$ bundle update devise

另外,请确保{g}存储库中存储了Gemfile.lock文件。否则Heroku将尝试自己解决依赖关系。 提交更改,然后推送到Heroku。

答案 1 :(得分:0)

尝试输入你的gemfile

gem“devise”,“〜> 1.4.4”

然后在重新发送之前运行bundle install

答案 2 :(得分:0)

看起来你的其他一颗宝石需要设计1.4.4,它是从rubyforge中拉出来的。检查你的gemfile.lock,了解其他宝石下的其他设计。

为了消除任何其他可能有趣的业务,请在您的gemfile中尝试:

gem "devise", "1.4.8"

然后跑步:

bundle update devise
git commit
git push heroku master

答案 3 :(得分:0)

我尝试了愚蠢而复杂的方法,但为我工作。 我之前把我的项目放到了Github。 所以我尝试了以前没有FB插件的代码。(也许是rfacebook问题!?)

mkdir test-for-another-sol
cd test-for-another-sol
git init 
git pull git@github.com:your_name/your_git.git  feature/your_former_project
bundle update devise 
git add .
git commit -a "please work"
git push git@heroku.com:your_app_in_heroku.git master

有效!