nokogiriが原因でbundle installが通らない
解決済
回答 2
投稿
- 評価
- クリップ 0
- VIEW 8,134
- 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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
[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のサーバが落ちてしまってるようです。
時間が解決してくれるかも?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
* Gemfileについて調べてみた - xxxcaqui.log
* tokyo-m.rubygems.org が落ちていて rubygems がインストールできない。 - Qiita
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.19%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
同じタグがついた質問を見る
関連ワード: buidling nokogiri with a packaged version of libxml2-2.9.2 gem install bundler エラー
2014/12/29 09:14
本日、実行したら無事に上手くいきました。
このままだと訳が分からないままでしたので、勉強になりました。ありがとうございます。