web-dev-qa-db-fra.com

Gem :: Installer :: ExtensionBuildError: ERROR: Echec de la création de l'extension native gem ubuntu

Lors de l'exécution de l'installation groupée, l'erreur suivante apparaît dans 'pg' gem. J'ai modifié la gem en tant que sqlite, puis j'obtiens 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.

J'ai essayé apt-get install libpg-devgem install pg -v '0.16.0' rien ne m'aide

12
overflow

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

4
chiyango

Vous devriez avoir installé postgresql avant d’installer pg gem.

Sudo add-apt-repository ppa:pitti/postgresql
Sudo apt-get update
Sudo apt-get install postgresql libpq-dev

Si votre sqlite ne fonctionne pas, il semblerait que vous ayez oublié certains paquets.

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
13
Vysakh Sreenivasan

Sur Ubuntu 14.04 (et éventuellement toutes les autres distributions basées sur Debian 7), ce problème est causé par l’absence du paquet de développement Ruby. Ainsi, le correctif consiste simplement à l'installer:

Sudo apt-get install Ruby1.9.1-dev
9
Luís de Sousa

Je l'ai résolu en suivant ces étapes

  1. Désinstallez complètement Ruby en utilisant Sudo apt-get purge Ruby*
  2. Puis, dans curl supprimé Sudo apt-get purge curl

Ensuite, j'ai suivi ce lien pour installer Ruby RVM et Rails 4.0.0.

Install Rails 4.0.0

2
overflow

Installer 

http://postgresapp.com/

puis

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

puis

bundle install
1
sparkle

Parfois, vous devez mettre à jour votre bibliothèque Ruby, exécutez le code suivant:

Sudo gem update --system
1
Mohammed Sawaie

J'ai eu un problème avec des versions légèrement différentes de Ruby. Gemfile.lock de l'application existante a été créé à l'aide de Ruby-1.9.3-p194 et mon Ruby local était Ruby-1.9.3-p484. Le passage à Ruby approprié a permis un bundle réussi. 

1
tmr08c

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

  1. Créé un nouvel utilisateur
  2. Ajout de ces utilisateurs au fichier sudoers/etc/sudoers
  3. Installez Ruby-devel en utilisant yum -y install Ruby-devel
0
Ian Bryce

Sous Debian, l'installation pg ne parvenait pas à créer des extensions natives car Postgres n'était pas installé.

J'ai installé les dépendances postgres avec:

$ apt-get install postgresql postgresql-client libpq-dev

Ensuite, la gemme pg a parfaitement construit ses dépendances:

$ 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
cgenco