39 votes

Rails 3.1 - les Poussant à Heroku, les Erreurs de l'installation de postgres adaptateur?

Je viens de mettre à Rails 3.1 et la première application que j'ai essayé de déployer sur Heroku a rencontré un problème concernant Postgres adaptateur. Je suis en mesure de pousser à l'application de heroku, mais alors quand j'essaie de migrer la base de données, j'obtiens l'erreur suivante:

heroku rake db:migrate

rake aborted!
Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` 
(pg is not part of the bundle. Add it to Gemfile.)
Tasks: TOP => db:migrate => db:load_config
(See full trace by running task with --trace)

lorsque j'essaie de leur a suggéré d'installer j'obtiens:

ERROR:  Could not find a valid gem 'activerecord-postgresql-adapter' (>= 0) in any repository
ERROR:  Possible alternatives: activerecord-postgis-adapter, activerecord-jdbcpostgresql-adapter, activerecord-postgresql-cursors, activerecord-jdbcmysql-adapter, activerecord-jdbcmssql-adapter

qui a déjà fait bizarre... si ce exact gem dois-je installer pour obtenir cette chose de travailler si pas ce qu'ils disent je dois installer??

Lorsque j'essaie d'installer le gem pg-je obtenir:

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

/Users/jerometufte/.rvm/rubies/ruby-1.9.2-p180/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
    ...

Je suis l'aide de SQLite3 actuellement. Toute aide grandement appréciée, ça, c'est incompréhensible pour moi.

42voto

yfeldblum Points 42613

Option 1:

Ajouter pg votre Gemfile mais sauter en essayant de l'installer localement.

$ cat Gemfile
...
group :production do
  # gems specifically for Heroku go here
  gem "pg"
end

# Skip attempting to install the pg gem
$ bundle install --without production

Option 2 (Debian/Ubuntu):

Ajouter pg votre Gemfile mais d'abord installer les composants requis.

$ cat Gemfile
...
group :production do
  # gems specifically for Heroku go here
  gem "pg"
end

# Install the pg gem's dependencies first
$ sudo apt-get install libpq-dev
# Then install the pg gem along with all the other gems
$ bundle install

4voto

Michael Fairley Points 4671

Vous avez certainement besoin pg dans le Gemfile pour Heroku.

Sur l'erreur que vous obtenez sur place: assurez-vous d'avoir installé postgres, exécutez gem install pq -- --with-pg-config=[path to wherever your pg-config binary is], alors bundle install.

Alternativement, si votre base de données locale fonctionne bien (que ce soit parce que vous utilisez sqlite ou postgresql-pr), vous pourriez mettre la gem 'pg' ligne dans votre Gemfile dans un groupe appelé production, alors bundle install --without production localement.

1voto

jpwynn Points 5222

Plus up-to-date de l'info: Il avait quelque chose à faire avec une autre version de pg joyau local.

J'ai déjà eu des pg dans un groupe de production (I exécuter sqllite localement), mais Heroku était encore vomir.

Le problème a disparu pour mon nouveau Rails 3.1 app quand j':

rm Gemfile.lock
touch Gemfile
bundle install
git add .
git commit -am "wiped Gemfile.lock re-ran bundle install"
git push heroku master

a travaillé comme un charme quand j'ai ensuite couru heroku run rake db:migrate

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X