質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

1642閲覧

bundle install でエラーが出る原因について

pyon_kiti_jp

総合スコア251

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/04/17 17:08

編集2019/04/19 09:17

環境: Windowd+Virtualbox+vagrant+Ubuntu

bundle install が上手くできません。
恐らく、nokogiri、pkg-configがうまくインストールできないのだと思います。
Gemfileには、このように指定をしております。

Gemfile

1gem 'nokogiri', '1.10.1' 2gem 'pkg-config', '~> 1.1'

エラーが出た後、libxml2と、libxml2-devをインストールした後、bundle installを再度実行しましたが、同じエラーが出ています。

下記、エラーの内容です。

Fetching nokogiri 1.10.1 Installing nokogiri 1.10.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. --use-system-libraries checking if the C compiler accepts ... yes Building nokogiri using system libraries. pkg-config could not be used to find libxml-2.0 Please install either `pkg-config` or the pkg-config gem per gem install pkg-config -v "~> 1.1" pkg-config could not be used to find libxslt Please install either `pkg-config` or the pkg-config gem per gem install pkg-config -v "~> 1.1" pkg-config could not be used to find libexslt Please install either `pkg-config` or the pkg-config gem per gem install pkg-config -v "~> 1.1" ERROR: cannot discover where libxml2 is located on your system. please make sure `pkg-config` is installed. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. An error occurred while installing nokogiri (1.10.1), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.10.1' --source 'https://rubygems.org/'` succeeds before bundling. ```

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

最初に

bundle installのエラーについて質問する場合は、
必ず利用しているOS(CentOS, Windows, Macなど)を明記してください。
解決方法が異なるので、回答者が困ります。

CentOSの場合

私の開発環境がCentOSなので、CentOSを前提に回答します。
※OS自体はWindowsを使っていますが、RailsはVagrantで構築した仮想マシン上のCentOSで開発しています。

CentOSの場合、native extensions系のエラーはxxx-develパッケージをインストールする事で解決できます。
例えば、今回のnokogiriの場合、
ERROR: cannot discover where libxml2 is located on your system. please make sure pkg-config is installed.

というエラーが出ているので、libxml2のライブラリがないという事が原因です。
CentOSの場合、libxml2-develパッケージをインストールすれば解決します。
具体的には、以下のコマンドを実行すれば良いです。
sudo yum install libxml2-devel -y

この後、bundle installを実行します。
さらにエラーが出た場合でもだいたい何らかのパッケージがないと言われるので、
さらにsudo yum install xxx-devel -yを実行して、bundle installをする
という手順を繰り返す事で解決できます。

nokogiriに必要なパッケージについて

nokogiriのエラーはbundle installでよく見かけるのですが、CentOSでは
libxml2-devel libxslt-develの2つが必要である事が分かっています。
あらかじめ、インストールしておくと良いと思います。

sudo yum install libxml2-devel libxslt-devel -y

投稿2019/04/17 20:53

mingos

総合スコア4025

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pyon_kiti_jp

2019/04/18 03:42

ご回答ありがとうございます。 環境ですが、Ubuntuになります。Windows上の仮想環境(Vagrant)で動かしています。 折角ご回答頂きましたが、CentOSはRedHat系なので少し異なる事になりますね・・・
mingos

2019/04/18 03:46

はい、環境によって異なるので、最初に書いておいてもらえると欲しい回答が貰いやすいと思います。 「ubuntsu libxml2 パッケージ インストール」とかでググれば解決するかと思いますが。 sudo apt-get install libxml2-dev みたいな感じでしょうか。 ubuntsuは使った事がないので、ググった結果をそのまま書いているだけで保証はないのですが。
pyon_kiti_jp

2019/04/18 03:47

Ubuntuを利用しているため、このコマンドでしょうか。 apt-get install libxml2-devel -y
pyon_kiti_jp

2019/04/18 03:48

先に、ご回答頂いておりました。失礼。
pyon_kiti_jp

2019/04/19 09:14

libxml2と、libxml2-devインストールして、bundle installしたが、まだ、同じ内容のエラーが出ています。どなたか、アドバイスをお願いします。
guest

0

shell

1$ sudo apt-get install pkg-config

で改善するかもしれません

投稿2019/04/19 09:35

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pyon_kiti_jp

2019/04/20 04:33

ご回答ありがとうございます。折角ご回答を頂きましたが、ご回答のコマンドでも、解決に至りませんでした・・・
asm

2019/04/20 08:09

> pkg-config could not be used to find libxml-2.0 > Please install either `pkg-config` or the pkg-config gem per のままでしょうか?
pyon_kiti_jp

2019/04/20 15:14

はい、そのままのエラー内容になります。
asm

2019/04/21 07:44

再現するためにUbuntuのバージョンを教えてください。 vagrant cloudからダウンロードできるなら config.vm.box = "ubuntu/bionic64" の部分を教えていただければ、再現できるか試してみます。
pyon_kiti_jp

2019/04/21 10:15

ご丁寧にありがとうございます。config.vm.box = "bento/ubuntu-16.04"でございます。しかし、実は・・・なかなか解決にいたらなかったため、rm -rfして、いちから、rails newする事にしました。しかし、rails newでも同じエラーが出ました。やはり、原因はnokogiriでした。nokogiriのバージョンが、1.10.1でこれがいけなかったようで、gam update nokogiriをすると、最新バージョンの1.10.2にあがり、これでrails newが上手くいくようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問