在运行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'
没有任何帮助我
答案 0 :(得分:13)
在安装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
答案 1 :(得分:9)
在Ubuntu 14.04(以及可能每个其他基于Debian 7的发行版)上,这个问题是由缺少Ruby开发包引起的。因此,修复只是安装它:
sudo apt-get install ruby1.9.1-dev
答案 2 :(得分:4)
我遇到了同样的问题,我将其作为普通用户ubuntu
安装在root user
而不是{{1}}。我希望这对你有帮助。
答案 3 :(得分:2)
我通过以下步骤解决了这个问题
sudo apt-get purge ruby*
sudo apt-get purge curl
然后我按照此链接安装Ruby RVM和rails 4.0.0
答案 4 :(得分:1)
安装
http://postgresapp.com/
然后
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
然后
bundle install
答案 5 :(得分:1)
有时您需要更新Ruby库,运行以下代码:
sudo gem update --system
答案 6 :(得分:1)
我遇到了一个与Ruby版本略有不同的问题。现有应用程序的Gemfile.lock
是使用ruby-1.9.3-p194
创建的,我的本地ruby是ruby-1.9.3-p484
。切换到正确的ruby允许成功捆绑。
答案 7 :(得分:0)
我在CentOS 6.5上遇到了同样的问题。
yum -y install ruby-devel
答案 8 :(得分:0)
在Debian上,pg
安装无法构建原生扩展,因为没有安装postgres。
我使用以下命令安装了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