アプリ開発の下準備中、Gemfileに以下を記載。
gem "refile", require: "refile/rails", github: 'manfe/refile'
gem "refile-mini_magick"
いつも通りにターミナルでbundle installしようとしたら、、、、
fatal: remote error:
The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Git error: command `git clone 'git://github.com/manfe/refile.git'
"/home/ec2-user/.rvm/gems/ruby-2.6.3/cache/bundler/git/refile-197f44e2ac4e44430807f905ad7632ff5c702ce5" --bare --no-hardlinks
--quiet` in directory /home/ec2-user/environment/作成中のアプリケーション名 has failed.
ふぁ!!!?君、一週間前までインストール出来てたよね!?なんでい!?
と焦りながらも、ターミナルに記載されているurlを確認してみた。
↓この部分である↓
https://github.blog/2021-09-01-improving-git-protocol-security-github/
ほうほう、、、03/25?から、git://
は永久的に使えなくなってこれからはhttps://
を使っていきます、と、、、
何かよくわかんないけど、git://
のところをhttps://
に変えればいいんですね!?
ということで、メンターさんの協力のもと、エラー解除ができたのでメモ代わりにqiitaに残そうと思いました。
refileのgit://
のところをなんとかしてhttp://
に変えたい!
実のところ、メンターさんに質問したところ本当に変わったのは最近なので、対処法を良くわからなかったみたいなんですよね。
お互いにどうにかinstall出来ないかネットで調べていたところ、今回解決につながった神ブログを見つけた。
それがこちら
→https://hachimaki37.hatenablog.com/entry/2022/03/28/113142
僕が起こしたエラーとは少しかけ離れてますが、似たエラー、しかも最近、、
って、八時間前じゃないですか
こちらの記事を参考に、メンターさんがあることをひらめく。
解決方法
Gemfile
の一番上に以下のコードを記載。
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
こちらのコードは先ほど紹介したブログに載せられたコードである。
そのあと、ターミナルにてbundle install
を実行すると、、、
Bundle complete!
無事にbundle install
が出来ました!!!素晴らしい!!!やったね!!!
注意点
最後に一つだけ注意点。
コードを一番上に記載するのには意味があります。
最初、メンターさんが解決策を考えている裏で僕はこっそりとこちらのコードをgem 'refile'
より下、Gemfile
の一番下に記載して実行してみてました。解決できませんでした。
僕はまだヒヨコなので、なんとなくで理解してるんですけど、
コードは上から下へとデータが読み込まれるので、gem 'refile'
が書かれているコードより下に書くと、変換したいgit://
のところをhttps://
に変換されずに読み込んでしまうから変わらずエラーが起きるんじゃないかなぁ、と考えてます(間違っていたら教えてくださると嬉しいです!)
なので、先ほど記載したコードは一番上に記載することによって、変換したいgit://
のところをhttps://
に変換でき、installが出来るようになったんだと思ってます!(多分!)
閲覧ありがとうございました!