簡體   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