PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Installation de la gemme pg ; ERREUR :Échec de la création de l'extension native de la gemme

Vous avez raison de dire que le problème est lié aux outils de développement Xcode. Ce n'est pas une mauvaise idée de s'assurer que tous les outils de développement sont installés (au lieu d'installer uniquement gcc comme mentionné dans la réponse précédente) :

  1. Ouvrir Xcode
  2. Dans l'élément de menu de l'application "Xcode", sélectionnez Ouvrir l'outil de développement > Plus d'outils de développement...
  3. Cela vous amène à un site avec un tas de logiciels. Allez-y, téléchargez et installez "Outils de ligne de commande (OS X Mavericks) pour Xcode - Fin octobre 2013".
  4. Vous pourrez maintenant installer correctement la gemme.

Pour toute autre personne venant à ce problème après une nouvelle installation de l'application Postgres 9.3.0 sur Mac OS X Mavericks (c'est-à-dire que vous n'utilisez pas homebrew pour votre installation Postgres), vous remarquerez peut-être que même si vous pouvez construire le gem pg vous impossible d'exécuter rake à cause d'un problème de dylib :

rake aborted!
dlopen(/Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libpq.5.dylib
  Referenced from: /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle
  Reason: image not found - /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle

Malheureusement, c'est un problème avec la version actuelle de 9.3.0 de Postgres. Revenir à une version précédente résoudra le problème pour vous :

  1. désinstaller le gem pg :gem uninstall pg
  2. supprimez votre application Postgres 9.3.0 en la faisant glisser vers la corbeille et en vidant la corbeille
  3. installez la version 9.2.2.0 de l'application Postgres ici :http://postgres-app.s3.amazonaws.com/PostgresApp-9-2-2-0.zip
  4. réinstallez la gemme pg :gem install pg

* Merci au commentaire de jhiro009 sur ce fil pour m'avoir orienté dans la bonne direction sur cette dernière partie de l'application Postgres du problème, bien que la version 9.2.4.3 qu'il a mentionnée ne fonctionnait pas pour moi.