我遵循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?我该如何解决这个问题?
答案 0 :(得分:1)
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
有效!