Je viens d'installer Rails 4.0.2
et lors de la création d'une nouvelle application, à l'étape des offres groupées, je reçois:
Installing pg (0.17.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Dee/.rvm/rubies/Ruby-2.0.0-p247/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.
Comment puis-je réparer ça?
Je suis sur un Mac sous Mavericks. Ma solution était d'installer Postgres .
Et ensuite, dans un terminal, utilisez homebrew avec la configuration:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Remarque: cette réponse a été modifiée pour utiliser le lien symbolique latest
actuellement inclus dans les versions d'expédition de l'application Postgres.
Les versions précédentes suggérées:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
Une sorte d'erreur est rapportée ici Installation de PG Gem sur OS X - Echec de la création d'une extension native
Pour installer des dépendances sur Ubuntu, essayez ceci:
Sudo apt-get install libpq-dev
et ça
gem install pg
racine de l'application:
REMARQUE: remplacez le numéro de version à l'étape 3 si nécessaire.
J'ai installé sous Mac OSX Mavericks, en ayant l'application Postgres (version 9.2.2.0) de www.postgresapp.com installée. Le problème sous-jacent était simplement que postgres ayant été installé via l'application, le fichier de configuration réside à un emplacement qui n'est pas celui par défaut lors de son installation sans postgressapp. Nous devons donc indiquer à Gem où trouver ce fichier en:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
J'espère que ça aide
Si gem install pg échoue, essayez la commande suivante:
env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
... depuis le Documentation PostgreSQL.app
On dirait que PostgreSQL n'est pas installé. Le gem pg
requiert des en-têtes de PostgreSQL pour compiler une extension native.
Pour les utilisateurs CentOS:
Sudo yum install postgresql-devel
et
gem install pg
Je devais tout combiner et utiliser
Sudo env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
Si vous utilisez autre chose que Postgres en développement et Postgres uniquement en production, vous pouvez ajouter le pg gem à votre gemfile comme suit ...
group :production do
gem 'pg', '0.17.1'
end
Ensuite, utilisez bundle install --without production
Si vous avez installé via Homebrew; gem install pg -- --with-pg-config=/usr/local/bin/pg_config
. Fonctionne avec Ruby 2.4.6 et pg 0.20.0.
La façon dont j'ai réussi à dépasser cette erreur était:
rbenv local 2.1.2
bundle installer --path vendor/bundle
Cela l'a fait pour moi.
J'avais besoin d'utiliser Sudo
Sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
J'avais un problème avec Amazon et je ne pouvais pas utiliser apt-get. Pour mon travail:
Sudo yum install postgresql-devel
ensuite:
bundle install
et essayez à nouveau:
Rails serve
Après avoir installé Postgres, j'ai dû exécuter la commande suivante
env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
Après cette installation bundle fonctionne très bien!
J'espère que ça aide