繁体   English   中英

Gem :: Installer :: ExtensionBuildError:错误:无法构建gem原生扩展ubuntu

[英]Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension ubuntu

在运行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'什么都没有帮助我

在安装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

我有同样的问题,我通过在ubuntu安装它作为普通用户而不是root user来解决它。 我希望这可以帮到你。

我通过以下步骤解决了这个问题

  1. 完全使用sudo apt-get purge ruby*卸载sudo apt-get purge ruby*
  2. 然后在移除curl sudo apt-get purge curl

然后我按照这个链接安装Ruby RVM和rails 4.0.0

安装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上遇到了同样的问题。

  1. 创建了一个新用户
  2. 将此用户添加到sudoers文件/ etc / sudoers
  3. 使用yum -y install ruby-devel

在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM