見出し画像

Flutter git@github.com: Permission denied (publickey)で落ちる

このエラーに2回ぶち当たってやっと原因と解決策が分かったんので
メモ代わりに解決方法を載せておきます。

問題

Android Studioでpubspec.yamlをPackage getした時に落ちてしまう。

エラーログ

Git error. Command: git clone --mirror git@github.com:xxxx/yyyyy.flutter.git /Users/userName/.pub-cache/git/cache/xxxxx.flutter-zzzzzzzzzzz

Cloning into bare repository '/Users/userName/.pub-cache/git/cache/xxxxxx.flutter-zzzzzzzzz'...

git@github.com: Permission denied (publickey).

fatal: Could not read from remote repository.


Please make sure you have the correct access rights


and the repository exists.

pub get failed (69) -- attempting retry 1 in 1 second...
Git error. Command: git fetch
fatal: not a git repository (or any of the parent directories): .git
 
 
// 以下省略


原因

原因としてはいくつかあります。

①cacheファイルが邪魔をしている
②sshキーにパスフレーズを設定している←今回自分が詰まった


解決策

①の場合
/flutter⁩/.pub-cache⁩/⁨git直下にあるフォルダ・ファイルを全て削除する(FlutterSDKのものなので全てのプロジェクトに依存します。)
そして再度Packages getすれば解決できます。

もし、下記のエラーが表示された場合、

Waiting for another flutter command to release the startup lock...

ロックがかかっているので、
/flutter⁩/bin/cacheのlockfileを削除し、再度Packages getで解決できます。


②の場合
①をやっても解決できない場合はsshキーを作成した時にパスフレーズを設定している場合の可能性があります。
解決策は
1. ①と同様に.pub-cacheの中身を全て削除+ lockfileを削除
2. Android StudioのPackages getではなく、terminalからflutter packages getコマンドでインストールを行う

パスフレーズを設定している場合はAndroid Studioのpackages getボタンからダウンロードするとsshの許可問題で断られます。
なのでターミナル経由で行いましょう。

Enter passphrase for key '/Users/userName/.ssh/i       ⣽..            ⣟

そうするとターミナルに上記が表示されるので、sshのパスフレーズを入力すればダウンロードできます!


快適なFlutterライフを!

この記事が気に入ったらサポートをしてみませんか?