12
votes

GEM :: Installer :: ExtensionBuilderRor: Erreur: Échec de la construction d'une extension native GEM Ubuntu

Lors de l'exécution de l'ensemble de l'ensemble de l'exécution, je reçois l'erreur suivante dans la gemme 'PG', j'ai changé le gemme comme SQLite alors aussi d'avoir la même erreur. Ceci est mon message d'erreur.

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:2:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/pg-0.16.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/pg-0.16.0/ext/gem_make.out

An error occurred while installing pg (0.16.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.16.0'` succeeds before bundling.


3 commentaires

9 Réponses :


14
votes

Vous devez avoir PostgreSQL installé avant d'installer PG GEM.

sudo apt-get install libreadline-dev libssl-dev zlib1g-dev build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev


7 commentaires

Pour SQLite, avez-vous installé les dépendances? Je vais mettre à jour la réponse avec des dépendances


Je ne suis pas sûr des dépendances SQLITE, mais pour PostgreSQL, j'ai tout installé et sa ligne de commande. Mais je suis incapable de localiser la gemme.


Les dépendances que j'ai données ne sont pas limitées à la SQLite. Il comprend également des packages autres que SQLite. Essayez d'installer les packages que j'ai données, cela devrait fonctionner.


Sa même erreur. J'ai essayé la plupart des réponses Stackoverflow.


Vous avez essayé celui-ci sudo aptitude installez ruby1.9.1-dev puis réinstallant les gemmes?


Voici les instructions mises à jour sur la façon d'installer Postgres wiki.postgresql.org/wiki/apt


L'installation de ces dépendances a fonctionné pour moi! Merci!



2
votes

J'ai résolu en suivant ces étapes

  1. Ruby désinstallé complètement en utilisant sudo apt-get purge ruby ​​*
  2. Ensuite, dans la refonte supprimée sudo apt-obtenir purge curl

    Puis j'ai suivi ce lien pour installer Ruby RVM et Rails 4.0.0

    Installez les rails 4.0.0


0 commentaires

4
votes

J'ai le même problème que j'ai résolu en l'installant dans ubuntu comme utilisateur normal pas comme utilisateur root . J'espère que cela peut vous aider.


0 commentaires

1
votes

Installez xxx

puis xxx

puis xxx


0 commentaires

1
votes

Parfois, vous devez mettre à jour votre bibliothèque de rubis, exécutez ce code:

sudo gem update --system


0 commentaires

1
votes

J'ai eu un problème avec des constructions de rubis légèrement différentes. L'application existante gemfile.lock a été créée en utilisant ruby-1.9.3-p194 et mon ruby ​​local était ruby-1.9.3-p484 . Passer au vrai rubis autorisé pour un paquet réussi.


0 commentaires

9
votes

sur Ubuntu 14.04 (et éventuellement toutes les autres distro basées sur Debian 7) Ce problème est causé par l'absence du forfait de développement de Ruby. Ainsi, le correctif est simplement de l'installer:

sudo apt-get install ruby1.9.1-dev


1 commentaires

Sudo Yum Installez Ruby-Devel pour Centos (résolu mon problème)



0
votes

J'ai eu le même problème avec Centos 6.5.

  1. a créé un nouvel utilisateur
  2. a ajouté ces utilisateurs au fichier sudoers / etc / sudoers
  3. Installez Ruby-Devel en utilisant Yum -y Installer Ruby-Devel

0 commentaires

0
votes

sur Debian, l'installation pg code> Échec de construire des extensions natives car Postgres n'a pas été installé.

J'ai installé les dépendances Postgres avec: P>

$ gem install pg -v '0.18.3'
Building native extensions.  This could take a while...
Successfully installed pg-0.18.3
1 gem installed


0 commentaires