Domanda

Sto avendo un sacco di problemi distribuzione di una semplice applicazione rails3.1. Sembra che ci sono due problemi principali.

  1. A causa del gasdotto di asset, le attività non si caricano in ambiente di produzione.
  2. I sviluppare con la sqlite3 di default db. Heroku usa PostgreSQL.

In sostanza, voglio che il mio sviluppo da implementare il flusso di lavoro di essere il più semplice possibile. Qualcuno può consigliare il modo migliore per impostare il mio ambiente di sviluppo, in modo che quando ho $ git push Heroku, tutto funziona.

Immagino che sia meglio usare PostgreSQL nell'ambiente di sviluppo, conosco nessuno di un buon post su come impostare questa funzione?

Dovrei usare unicorno? magro?

Dovrei usare qualsiasi altre gemme che non può avere sentito parlare?

mi sento frustrato perché ho ottenuto al punto in cui posso costruire cose piuttosto fresco nell'ambiente di sviluppo, ma non hanno idea di come ottenere l'applicazione on-line. Forse mi sto guardando questo tutto sbagliato. fatemi sapere.

ottengo questo errore quando provo a fare:

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
È stato utile?

Soluzione

Prima che il commit eseguire il seguente di precompilare il vostro patrimonio:

$> bundle exec rake assets:precompile

Non dovrebbe essere necessario configurare nulla per il database Heroku altro che mettere

gem 'pg' 

nella sezione produzione del vostro Gemfile. Si capisce tutto fuori tutto il resto da solo.

Alcuni trucchi belle che uso un po 'sono:

$> heroku db:push
$> heroku db:pull

Leggi su push & pull qui

I sviluppare localmente su MySQL dal momento che ha il migliore IMHO front-end, ma sarebbe bene utilizzare sqlite3 o Postgres troppo, a seconda di quanto si vuole lavorare nelle tabelle prime.

Altri suggerimenti

ho avuto quel problema, ma ho cambiato alla pila di cedro e che sembrava per risolvere il problema del risparmio. Per quanto riguarda il DB, basta specificare

group :production do
    gem 'pg' 
end

nel Gemfile

In realtà ho usato le informazioni da entrambe le risposte a farlo funzionare. Il mio problema di asset è stato risolto con l'bundle exec rake assets:precompile e il mio problema è stato risolto con db

group :production do
    gem 'pg' 
end

e anche l'aggiunta di questo:

group :development do
    gem 'sqlite3' 
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top