12

bundle install の実行中に「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'何も助けようとしなかった

4

9 に答える 9

14

pg gem をインストールする前に、postgresql をインストールしておく必要があります。

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
于 2013-08-05T17:12:53.940 に答える
9

Ubuntu 14.04 (およびおそらく他のすべての Debian 7 ベースのディストリビューション) では、この問題は Ruby 開発パッケージがないために発生します。したがって、修正は単にインストールするだけです:

sudo apt-get install ruby1.9.1-dev
于 2015-01-24T16:44:03.277 に答える
4

ubuntuとしてではなく通常のユーザーとしてインストールすることで解決したのと同じ問題がありroot userます。これがお役に立てば幸いです。

于 2013-08-22T13:35:49.223 に答える
2

これらの手順に従って解決しました

  1. を使用してルビーを完全にアンインストールしましたsudo apt-get purge ruby*
  2. 次に、カールを取り除きますsudo apt-get purge curl

次に、このリンクをたどってRuby RVMとrails 4.0.0をインストールしました

Rails 4.0.0 をインストールする

于 2013-08-06T02:58:23.117 に答える
1

わずかに異なる Ruby ビルドで問題が発生しました。既存のアプリケーションGemfile.lockは を使用して作成されruby-1.9.3-p194、私のローカル ルビーはruby-1.9.3-p484. 適切なルビに切り替えることで、バンドルを成功させることができました。

于 2014-02-21T02:27:58.140 に答える
1

Ruby ライブラリを更新する必要がある場合は、次のコードを実行します。

sudo gem update --system
于 2013-11-26T19:41:09.437 に答える
1

インストール

http://postgresapp.com/

それから

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

それから

bundle install
于 2013-11-16T17:36:17.623 に答える
0

CentOS 6.5 でも同じ問題がありました。

  1. 新しいユーザーを作成しました
  2. このユーザーを sudoers ファイル /etc/sudoers に追加しました
  3. を使用して ruby​​-devel をインストールします。yum -y install ruby-devel
于 2015-02-03T17:40:39.273 に答える
0

Debian では、pgpostgres がインストールされていないため、インストールでネイティブ拡張機能のビルドに失敗していました。

postgres の依存関係を次のようにインストールしました。

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

次に、pggem はその依存関係を問題なく構築しました。

$ gem install pg -v '0.18.3'
Building native extensions.  This could take a while...
Successfully installed pg-0.18.3
1 gem installed
于 2016-04-28T01:57:33.537 に答える