我正在尝试将heroku掌握我的应用程序为heroku生成,尽管我的gemfile看起来像这样:
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug'
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console', '~> 2.0'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end
group :production do
gem 'pg', '0.18.3'
gem 'rails_12factor'
end
我做了:
bundle install --without production
和
git commit -a -m
最后
git push heroku master
它将拒绝传输说明pg未安装在gemfile中
Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
所以,当我做heroku open
我明白了
应用程序中发生错误,无法提供您的页面。请稍后重试。 如果您是应用程序所有者,请检查日志以获取详细信息。
我不知道这两个错误是否相关。 Heroku上传了我的id_rsa.pub密钥,我通过命令行通过电子邮件和密码登录。
答案 0 :(得分:-1)
所以这就是我认为错误的地方,万一有人经历了同样的错误。
1)当我尝试通过
创建一个ssh密钥时cat ~/.ssh/id_rsa.pub
尽管我的linux上默认安装了ssh,但该命令最初没有工作,所以我最终通过ssh keygene命令生成了。我复制了它并将它(公共的)粘贴到我的bitbucket ssh密钥中,但是生成的私有密钥与原始密钥不匹配。而错误是由于私人本地和公共之间的密钥不匹配。
我想我也搞砸了,因为我正在使用两台不同的计算机,如果你这样做,你必须继续使用同一帐户的另一种不同密钥模式等。 我从头开始重新启动,删除了我的git目录,删除了bitbucket上的存储库和heroku的应用程序并再次尝试了该命令。
由于某种原因,这次命令工作(不,它没有第一次拼写错误),所以现在键的同步是正确的。这次我将其复制并直接粘贴在bitbucket的ssh键中。
然后我再次通过相同的东西:
这遵循Michael Hartl(The Ruby on Rails Tutorial)的伟大着作中的指示
cat ~/.ssh/id_rsa.pub
$ git remote add origin git@bitbucket.org:<username>/hello_app.git
$ git push -u origin --all # pushes up the repo and its refs for the first time
$ git remote add origin git@bitbucket.org:myname/hello_app.git
现在为gemfile
group :production do
gem 'pg', '0.18.3'
gem 'rails_12factor', '0.0.2'
end
$ bundle install --without production
好奇地,现在它没有抱怨pg而是关于mysql2,所以这真的无关紧要
$ git commit -a -m "Update Gemfile.lock for Heroku"
$ heroku version
$ heroku login
$ heroku keys:add
(这次正确添加或提取了密钥)
$ heroku create
Creating damp-fortress-5769... done, stack is cedar
http://damp-fortress-5769.herokuapp.com/ | git@heroku.com:damp-fortress-5769.git
Git remote heroku added
$ git push heroku master
heroku open