バンドルインストールを実行しているときに、 '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'
何の助けにもなりません
同じ問題がありますが、root user
ではなく通常のユーザーとしてubuntu
にインストールすることで解決しました。これがお役に立てば幸いです。
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
Ubuntu 14.04(およびおそらく他のすべてのDebian 7ベースのディストリビューション)では、この問題はRuby開発パッケージがないために発生します。したがって、修正は単にインストールすることです。
Sudo apt-get install Ruby1.9.1-dev
私はこれらの手順に従ってそれを解決しました
Sudo apt-get purge Ruby*
を使用してSudo apt-get purge curl
次に、このリンクをたどってRuby RVMとRails 4.0.0
インストール
http://postgresapp.com/
その後
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
その後
bundle install
Rubyライブラリを更新する必要がある場合は、次のコードを実行します。
Sudo gem update --system
わずかに異なるRubyビルドで問題が発生しました。既存のアプリケーションのGemfile.lock
はRuby-1.9.3-p194
を使用して作成され、ローカルRubyはRuby-1.9.3-p484
。適切なRubyへの切り替えが成功したバンドルで許可されています。
CentOS 6.5でも同じ問題が発生しました。
yum -y install Ruby-devel
を使用してRuby-develをインストールしますDebianでは、postgresがインストールされていなかったため、pg
インストールがネイティブ拡張のビルドに失敗していました。
私はpostgresの依存関係を次のようにインストールしました:
$ apt-get install postgresql postgresql-client libpq-dev
次に、pg
gemは依存関係をうまく構築しました:
$ gem install pg -v '0.18.3'
Building native extensions. This could take a while...
Successfully installed pg-0.18.3
1 gem installed