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

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

ただいまの
回答率

90.47%

  • Ruby

    7932questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7486questions

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

  • CentOS

    2768questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Ruby on Rails 4

    2455questions

    Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

  • RubyGems

    338questions

    RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

nokogiriが原因でbundle installが通らない

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 6,088

mendosa

score 9

環境
  • CentOS6.6
  • ruby 2.1.2
  • rails 4.2.0

内容
1日中、悩んだのですが、完全に詰まってしまい、もうどうにも出来なくなってしまいました。
どなたか助けて頂けると嬉しいです。
目的は、nokogiriをインストールし、bundle installを通す事です。

まず、Gemfileは下記の通りです。
source 'https://rubygems.org'

ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] = 'YES'
gem 'nokogiri', '1.6.5'

###initial
gem 'rails', '4.2.0'
gem 'mysql2', '0.3.17'
gem 'sass-rails', '5.0.0'
gem 'bootstrap-sass', '3.3.1.0'

gem 'uglifier', '2.6.0'
gem 'coffee-rails', '4.1.0'
gem 'therubyracer',  '0.12.1', platforms: :ruby
gem 'jquery-rails', '4.0.2'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',  group: :doc
gem "pry-rails", '0.3.2'
gem 'bcrypt', '3.1.9'

group :development, :test do
  # gem 'byebug'
  gem 'rspec-rails', '3.1.0'
  gem 'spring', '1.2.0'
  gem 'web-console', '~> 2.0'
end

group :deployment do
  gem 'capistrano', '3.3.5'
  gem 'capistrano-rails', '1.1.2'
  gem 'capistrano-rbenv', '2.0.2'
  gem 'capistrano-bundler', '1.1.3'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
  gem 'minitest',"5.4.2"
  gem "database_cleaner","1.3.0"
  gem "launchy", '2.4.3'
end


上記環境で、bundle installをすると、nokogoriのところで詰まっており、以下のようなエラーメッセージが出ます。
[usr@XXXX app]$ bundle install

Fetching gem metadata from https://rubygems.org/.........
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.1
Using minitest 5.4.2
Using thread_safe 0.3.4
Using tzinfo 1.2.2
Using activesupport 4.2.0
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile 0.6.1
Using nokogiri 1.6.5

Gem::RemoteFetcher::FetchError: Errno::ETIMEDOUT: Connection timed out - connect(2) for "au-m.rubygems.org" port 443 (https://rubygems.org/gems/rails-deprecated_sanitizer-1.0.3.gem)
An error occurred while installing rails-deprecated_sanitizer (1.0.3), and Bundler cannot continue.
Make sure that `gem install rails-deprecated_sanitizer -v '1.0.3'` succeeds before bundling.


メッセージ通りにgem install rails-deprecated_sanitizer -v '1.0.3'を実行すると、無事に成功します。
[usr@XXXX app]$ sudo gem install rails-deprecated_sanitizer -v '1.0.3'

Successfully installed rails-deprecated_sanitizer-1.0.3
Parsing documentation for rails-deprecated_sanitizer-1.0.3
Done installing documentation for rails-deprecated_sanitizer after 0 seconds
1 gem installed
そこで、再度bundle installを実行すると、上記と全く同じメッセージが表示されます。




ならばと、直接gem install nokogiriを実行すると、下記のエラーメッセージが表示されます。
[usr@XXXX app]$ sudo gem install nokogiri

Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /usr/local/rbenv/versions/2.1.2/bin/ruby -r ./siteconf20141228-3955-13ftcn7.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Buidling Nokogiri with a packaged version of libxml2-2.9.2
with the following patches applied:
    - 0001-Revert-Missing-initialization-for-the-catalog-module.patch
    - 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
(以下、省略)


libxml2、libxml2-devel、libxslt、libxslt-develをyumでインストールして、gem install nokogiri -- --use-system-librariesをすると、これは成功します。一方で、gem install nokogiriは通らないままです。

いろいろな記事を見ていると、nokogoriのインストール時に、systemのlibxml2を使うように指示をすればよいということでしたので、Gemfileに下記を加えたのですが、やはり上手くいきません。

source 'https://rubygems.org'

ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] = 'YES'
gem 'nokogiri', '1.6.5'

どうぞ、よろしくお願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

自分もgemを使おうとすると同様のエラーが吐かれてしまいます。

[vagrant@localhost ~]$ gem install rake
ERROR:  Could not find a valid gem 'rake' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Connection timed out - connect(2) for "au-m.rubygems.org" port 443 (https://api.rubygems.org/quick/Marshal.4.8/rake-10.4.2.gemspec.rz)
ERROR:  Possible alternatives: rake

色々調べてみましたが、単純にau-m.rubygems.orgのサーバが落ちてしまってるようです。
時間が解決してくれるかも?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2014/12/29 09:14

    ありがとうございます。ご指摘の通り、単純にサーバーが落ちていたようです。
    本日、実行したら無事に上手くいきました。
    このままだと訳が分からないままでしたので、勉強になりました。ありがとうございます。

    キャンセル

+1

ネットワークのエラーであるならば:ミラーサーバを指定してあげることで回避した事例があるようですね

Gemfileについて調べてみた - xxxcaqui.log
tokyo-m.rubygems.org が落ちていて rubygems がインストールできない。 - Qiita

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2014/12/29 09:16

    ありがとうございます。無事に解決できました。
    こんなこともあるのですね。勉強になりました。ありがとうございました。

    キャンセル

関連した質問

同じタグがついた質問を見る

  • Ruby

    7932questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7486questions

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

  • CentOS

    2768questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Ruby on Rails 4

    2455questions

    Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

  • RubyGems

    338questions

    RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

関連ワード: buidling nokogiri with a packaged version of libxml2-2.9.2 gem install bundler エラー