タイトルの通りrails newを実行したところ、以下のエラーが・・・。
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Could not fetch specs from https://rubygems.org/
原因: 某カフェでfree wi-fiを利用していたため
このエラーが起きる要因は、Free wi-fiを使っていたり、ウィルスバスターによってよく起きるようです。
解決策:3段階あります
STEP1: RubyGems(gemコマンド)自体のバージョンアップをする
% gem update –system
% bundle install
これでもダメなら次へ
STEP2: 手動でライブラリとの連動を行う
ステップ1でも解決できない場合、自動で他のライブラリとの連動ができていない可能性があるので手動でrubygems.orgとのパスを設定していく必要があります。
rubygems.orgとは?
Rubyのライブラリを管理しているサイトでのことです。
こちらがサイトURLです
https://rubygems.org/
どのようなgemがあるのかも確認できるので、お時間がある際はぜひ参照ください。
bundle installを実行するとGemfile内に記載した内容から自動的にrubygems.orgとのパスを通していくのですが、セキュリティが堅牢だとこれがブロックされてエラーが引き起こされてしまいます。
以下の手順を実行していきましょう。
rubygemsのapiを確認する
% host api.rubygems.org
上記のコマンドを実行すると以下の内容が表示されます。
------------ここから------------
rubygems.org has address XXX.XXX.XXX.XX
rubygems.org has address XXX.XXX.XXX.XX
rubygems.org has address XXX.XXX.XXX.XX
rubygems.org has address XXX.XXX.XXX.XX
-----------ここまで使う-----------
rubygems.org has IPv6 address 2a04:4e42::70
rubygems.org mail is handled by 10 mxa.mailgun.org.
rubygems.org mail is handled by 10 mxb.mailgun.org.
XXX.XXX.XXX.XXの部分がapiの部分で様々な数字が並んでいるかと思いますが、この部分を使います。
IPv6はざっくり言ってしまうとIPアドレスを128ビットで表現した形です。
↓こちらのサイトをご参照ください。
https://dream.jp/ftth/tips_f/hikari17.html
上記apiを使ってパスを通す
以下のファイルを開く
% sudo vim /etc/hosts
ここからパスを通していくので、先ほどの上記XXX.XXX.XXX.XX(api)を一つコピーしては、以下のように追加していく
XXX.XXX.XXX.XXX rubygems.org
XXX.XXX.XXX.XXX rubygems.org
XXX.XXX.XXX.XXX rubygems.org
XXX.XXX.XXX.XXX rubygems.org
その後bundle installしてみてそれでもダメなら・・・・・・