webentwicklung-frage-antwort-db.com.de

Gem :: Installer :: ExtensionBuildError: ERROR: Fehler beim Erstellen der nativen Gem-Erweiterung Ubuntu

Während der Installation des Bundles bekomme ich die folgende Fehlermeldung in 'pg' gem. Dies ist meine Fehlermeldung.

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.

Ich habe versucht apt-get install libpg-devgem install pg -v '0.16.0' nichts hilft mir

12
overflow

Ich habe das gleiche Problem, das ich gelöst habe, indem ich es in ubuntu als normalen Benutzer nicht als root user installiere. Ich hoffe das kann dir helfen.

4
chiyango

Sie sollten postgresql installiert haben, bevor Sie pg gem installieren.

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

Wenn Ihr sqlite nicht funktioniert, sieht es so aus, als hätten Sie einige Pakete vermisst.

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

In Ubuntu 14.04 (und möglicherweise jeder anderen auf Debian 7 basierenden Distribution) wird dieses Problem dadurch verursacht, dass das Ruby-Entwicklungspaket fehlt. Daher ist das Update einfach zu installieren:

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

Ich habe es mit diesen Schritten gelöst

  1. Deinstallierte Ruby komplett mit Sudo apt-get purge Ruby*
  2. Dann in entferntem curl Sudo apt-get purge curl

Dann folgte ich diesem Link, um Ruby RVM und Rails 4.0.0 zu installieren

Rails 4.0.0 installieren

2
overflow

Installieren 

http://postgresapp.com/

dann

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

dann

bundle install
1
sparkle

Manchmal müssen Sie Ihre Ruby-Bibliothek aktualisieren. Führen Sie diesen Code aus:

Sudo gem update --system
1
Mohammed Sawaie

Ich hatte ein Problem mit etwas anderen Ruby-Builds. Der Gemfile.lock der vorhandenen Anwendung wurde mit Ruby-1.9.3-p194 erstellt, und mein lokaler Ruby war Ruby-1.9.3-p484. Die Umstellung auf den richtigen Ruby ermöglichte ein erfolgreiches Bündel. 

1
tmr08c

Ich hatte das gleiche Problem mit CentOS 6.5.

  1. Einen neuen Benutzer erstellt
  2. Diese Benutzer wurden der Sudoers-Datei/etc/sudoers hinzugefügt
  3. Installieren Sie Ruby-devel mit yum -y install Ruby-devel
0
Ian Bryce

Unter Debian konnte die pg-Installation keine nativen Erweiterungen erstellen, da Postgres nicht installiert wurde.

Ich habe die Postgres-Abhängigkeiten installiert mit:

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

Dann hat der pg Edelstein seine Abhängigkeiten gut aufgebaut:

$ 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