Gem:: Installer:: ExtensionBuildError: ОШИБКА: Не удалось создать собственное расширение gem ubuntu

При запуске установки пакета я получаю следующую ошибку в "pg" gem, я изменил gem как sqlite, тогда тоже получаю ту же ошибку. Это мое сообщение об ошибке.

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.

Я пробовал apt-get install libpg-dev gem install pg -v '0.16.0' Ничто не помогает мне

Ответ 1

У меня та же проблема, я решил ее, установив ее в ubuntu как обычный пользователь, а не как root user. Надеюсь, это поможет вам.

Ответ 2

У вас должен быть установлен postgresql перед установкой pg gem.

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

Если ваш sqlite не работает, похоже, что есть некоторые пакеты, которые вы, возможно, пропустили.

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

Ответ 3

В Ubuntu 14.04 (и, возможно, каждый другой дистрибутив Debian 7) эта проблема вызвана отсутствием пакета разработки Ruby. Таким образом, исправление просто установить:

sudo apt-get install ruby1.9.1-dev

Ответ 4

Я решил это, выполнив следующие шаги

  • Удаленный рубин полностью с помощью sudo apt-get purge ruby*
  • Затем в удаленном скручивании sudo apt-get purge curl

Затем я выполнил эту ссылку, чтобы установить Ruby RVM и rails 4.0.0

Установить Rails 4.0.0

Ответ 5

Иногда вам нужно обновить свою библиотеку Ruby, запустите этот код:

sudo gem update --system

Ответ 6

Установить

http://postgresapp.com/

затем

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

затем

bundle install

Ответ 7

У меня возникла проблема с немного разными строками Ruby. Существующее приложение Gemfile.lock было создано с помощью ruby-1.9.3-p194, а мой локальный ruby ​​был ruby-1.9.3-p484. Переход на правильный рубин позволил получить успешный пакет.

Ответ 8

У меня была такая же проблема с CentOS 6.5.

  • Создан новый пользователь
  • Добавили этих пользователей в файл sudoers/etc/sudoers
  • Установите ruby-devel с помощью yum -y install ruby-devel

Ответ 9

В Debian установка pg не смогла создать собственные расширения, потому что postgres не был установлен.

Я установил зависимости postgres с помощью:

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

Затем камень pg построил свои зависимости просто:

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