2010-11-24 15 views
7

Je suis en train de lancer un projet de rails avec une base de données postgresql mais lorsque je tente de créer le db avec la commande:râteau abandonné! pas de fichier à charger - pg (Création base de données postgre dans des rails)

rake db: créer

Je reçois le message d'erreur suivant:

râteau avorté! aucun fichier de ce type à charger - pg

J'utilise mac os X pour que postgresql soit installé dans le dossier/Library. J'ai regardé autour pour le fichier pg mais je ne pouvais pas le trouver et je

Répondre

8

Si vous utilisez PostgreSQL 9 téléchargé à partir enterprisedb vous devez installer la pierre précieuse pg dans l'un des éléments suivants façon:

Si vous utilisez rvm utilisez:

env ARCHFLAGS="-arch x86_64" \ 
    gem install pg -- \ 
    --with-pg-include=/Library/PostgreSQL/9.0/include/ \ 
    --with-pg-lib=/Library/PostgreSQL/9.0/lib/ 

Sinon, utilisez:

sudo env ARCHFLAGS="-arch x86_64" \ 
    gem install pg -- \ 
    --with-pg-include=/Library/PostgreSQL/9.0/include/ \ 
    --with-pg-lib=/Library/PostgreSQL/9.0/lib/ 

Si cela ne fonctionne pas, nous avons besoin de savoir quelle version de Mac OS X et version de PostgreSQL.

+0

J'ai la gemme installée de cette façon. Mais quand j'exécute rake db: create, je suis toujours en train de faire avorter le rake! pas un tel fichier à charger - pg MISE À JOUR: Il me manque de l'inclure dans Gemfile et l'installation de bundle. Merci – Fgblanch

7

assurez-vous que le pg gem est installé.

gem install pg

ou

comprennent gem pg dans votre Gemfile et exécuter bundle install si vous utilisez Bundler

+0

j'ai essayé de l'installer, mais quand je le fais, je reçois: Vous ne trouvez pas l'en-tête « libpq-fe.h Toute idée? – Fgblanch

1

Pour moi cela ne fonctionne pas.

ERROR: Error installing pg: 
    ERROR: Failed to build gem native extension. 

     /opt/local/bin/ruby1.9 extconf.rb --with-pg-include=/Library/PostgreSQL/8.4/include/ --with-pg-lib=/Library/PostgreSQL/8.4/lib/ --with-pg-config=/Library/PostgreSQL/8.4/bin/pg_config 
Using config values from /Library/PostgreSQL/8.4/bin/pg_config 
checking for libpq-fe.h... yes 
checking for libpq/libpq-fs.h... yes 
checking for PQconnectdb() in -lpq... no 
checking for PQconnectdb() in -llibpq... no 
checking for PQconnectdb() in -lms/libpq... no 
Can't find the PostgreSQL client library (libpq) 
*** 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. 

Ruby + PostgreSQL = Douleur dans l'ASS!

Je ne me demande pas pourquoi tout le monde utilise mySQL au lieu de Postgres. Avec mySQL, je n'ai jamais eu autant de problèmes. Il est facile à installer et facile à utiliser. Avec Postgres j'ai toujours juste des problèmes. Après des heures de dépannage et de googeling pour le conducteur de rubis postgres, je suis très énervé. Demain je jetterai un oeil à MongoDB et j'espère que c'est moins douloureux que Postgres!

bonne nuit!

+0

avez-vous réussi à trouver une solution à cette erreur? – dcarneiro

2

Très bien. Un autre jour, une autre opportunité.

J'ai trouvé le problème! Si vous voulez installer "gem install pg" vous devez avoir les fichiers d'en-tête postgres sur votre machine. Après avoir installé Postgres 8.3 via Macports, j'ai également pu installer le pg gem. J'ai utilisé cette commande pour installer la pierre précieuse pg:

sudo env ARCHFLAGS='-arch i386' gem install pg 

J'ai trouvé la solution dans ce blog:

http://flux88.com/blog/installing-postgresql-for-rails-on-mac-os-x/

Après avoir lu le message et tous les commentaires, je pouvais résoudre le problème.

+0

La réponse acceptée de la question propose exactement la même solution – Fgblanch

0

Le problème est que vous n'avez pas installé PostgreSQL correctement.

Utilisateur Brew pour installer PostgreSQL.

brew update 

puis installez PostgreSQL. Assurez-vous de suivre les instructions pour PostgreSQL et que la version que vous avez installée correspond à la version que vous utilisez.

vous pouvez obtenir la version en faisant.

psql --version 

PostgreSQL vaut la peine d'être appris et beaucoup plus avancé que MYSQL. Utilisé correctement, il améliorera votre application Rails.

Ce tutoriel m'a aidé à apprendre.

Le problème est que vous n'avez pas installé PostgreSQL correctement.

Utilisateur Brew pour installer PostgreSQL.

brew update 

puis installez PostgreSQL. Assurez-vous de suivre les instructions pour PostgreSQL et que la version que vous avez installée correspond à la version que vous utilisez.

vous pouvez obtenir la version en faisant.

psql --version 

PostgreSQL vaut la peine d'être appris et beaucoup plus avancé que MYSQL. Utilisé correctement, il améliorera votre application Rails.

Ce tutoriel m'a aidé à apprendre.

http://railscasts.com/episodes/342-migrating-to-postgresql