Mit viel Mühe mit rails3.1 heroku bereitstellen
-
22-10-2019 - |
Frage
Ich bin eine Menge ärger Bereitstellung einer einfachen rails3.1 app.Wie es scheint, gibt es zwei Hauptprobleme.
- Aufgrund der asset-pipeline, die assets nicht geladen werden in die Produktion Umwelt.
- Ich entwickle mit den Standard-db-sqlite3.Heroku postgresql verwendet.
Im Grunde, will ich meine Entwicklung-to-deploy workflow so reibungslos wie möglich gestalten.Kann jemand empfehlen, der beste Weg, um meine Entwicklungsumgebung, so dass, wenn ich $git push heroku, alles funktioniert einfach.
Ich kann mir vorstellen, dass es das beste ist, verwenden Sie postgresql in der Entwicklungsumgebung, Wer kennt eine gute post auf, wie diese eingerichtet?
Sollte ich Einhorn?Dünn?
Soll ich mich mit anderen Edelsteinen, die ich möglicherweise nicht gehört haben?
Ich fühle mich frustriert, weil ich mittlerweile zu dem Punkt, wo ich bauen kann ziemlich Coole Sachen in der Entwicklungsumgebung, aber haben keine Ahnung, wie man die app online.Vielleicht bin ich bei dieser Suche alles falsch.lassen Sie mich wissen.
Ich bekomme diese Fehlermeldung, wenn ich versuche zu tun:
group :production do
gem 'pg'
end
Installing pg (0.11.0) with native extensions /home/work/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/home/work/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/work/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Lösung
Bevor Sie Ihre Begehen, führen Sie die folgenden vorkompilieren Vermögenswerte:
$> bundle exec rake assets:precompile
Müssen Sie sich nicht einrichten alles für die heroku-Datenbank andere als die
gem 'pg'
in der Produktion Abschnitt Ihrer gemfile.Es zahlen alle ganzen rest auf seine eigenen.
Einige nette tricks, die ich ganz ein bisschen sind:
$> heroku db:push
$> heroku db:pull
Lesen Sie über push & pull hier
Ich entwickle lokal auf mysql, da es die beste front-end-IMHO, aber Sie würde in Ordnung sein mit sqlite3 oder postgres zu, abhängig davon, wie viel Sie möchten, zu arbeiten im raw-Tabellen.
Andere Tipps
Ich hatte das problem, aber ich verändert, um die cedar-stack und das schien zu lösen die asset problem.Für die DB, nur angeben
group :production do
gem 'pg'
end
in der gemfile
Eigentlich habe ich benutzt die Informationen aus den beiden Ihre Antworten, um es zu bekommen zu arbeiten.Meine asset-problem war gelöst bundle exec rake assets:precompile
und meine db-problem wurde gelöst, indem
group :production do
gem 'pg'
end
und auch hinzufügen:
group :development do
gem 'sqlite3'
end