LoginSignup
0
3

More than 5 years have passed since last update.

Bash on Windowsで"gem install" がエラーしたのでipv6接続を切ったら成功した

Last updated at Posted at 2018-09-08

三行で説明すると

  • Bash on Windowsでgithub-pages(gemパッケージ)をインストールしようとしたら
  • gemで原因不明のエラーに直面して
  • Windowsのipv6設定を切ったら成功した

背景

無料で静的ページおよびjekyllがホスティング可能なgithub pagesというサービスを使いたいと思い,作業を開始しました.
メインマシンでWindows 10を使っていたこと,jekyllによるページ構築およびgithubとの接続のみならGUI処理が無いのでBash on windows (Windows Subsystem for Linux)が使えるだろうということで,以下のことを実現しようと思い作業を開始しました.

Bash on Windows上でjekyllのコンパイル(ローカル環境構築)を可能とし,github-pagesへのデプロイ(グローバル環境構築)も可能にする

課題

基本的には@takuya0301さんの記事を参考に以下の手順で進めていました.

  1. Bash on Windowsの有効化
  2. Rubyインストール
  3. github-pagesのインストール ←ここでエラー
  4. Jekyllプロジェクトの生成
  5. Jekyllプロジェクトの公開

しかし,gemとして用意されているgithub-pagesをインストールしようとしたところで以下のようなエラーが発生しました.

$ sudo gem install jekyll github-pages
ERROR:  Could not find a valid gem 'jekyll' (>= 0)
ERROR:  Could not find a valid gem 'github-pages' (>= 0)

解決法

調査した結果,この問題は参考文献[1]のronnelson氏のコメントによれば,

"For me the problem was that the attempted connection/download from https://rubygems.org/ was trying ipv6. disabling that protocol cleared the problem up completely." by ronnelson

翻訳すると,gem installを使用した場合デフォルトアクセス先となっているhttps://rubygems.org/へのアクセスは,自動的にipv6を使用して行う仕組みになっていたそうです.このため,ipv6のプロトコル設定を切ることで,問題が解決したということでした.

実際に,自身の環境でもWindowsの「ネットワークと共有センター」の「イーサネットのプロパティ」から「インターネットプロトコル バージョン6(TCP/IPv6)」をオフにして,ターミナルを再起動したところ,無事以下のコマンドで必要なgemがインストールできるようになりました.

gem install jekyll bundler
gem install github-pages -v 191

参考文献

[1] https://github.com/Microsoft/WSL/issues/2525

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3