三行で説明すると
- 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さんの記事を参考に以下の手順で進めていました.
- Bash on Windowsの有効化
- Rubyインストール
- github-pagesのインストール ←ここでエラー
- Jekyllプロジェクトの生成
- 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