ただのミスなのですが、備忘も兼ねて記事化
先にまとめ
- githubにSSHキーを登録してなかったことが原因
- またはhttpsのアドレスを指定すれば取得できる
どういうエラーか
[RuntimeException]
Failed to execute git clone --mirror -- 'https://ghp_XXXXXX:***@github.com/sample/sample.git' '/Users/user/.composer/cache/vcs/git-github.com-sample-sample.git/'
Cloning into bare repository '/Users/user/.composer/cache/vcs/git-github.com-sample-sample.git'...
remote: Repository not found.
fatal: repository 'https://github.com/sample/sample.git/' not found
PHPのプロジェクトをgit cloneしてきてライブラリをダウンロードしようとcomposer install
した際に発生しました。
どうやらプライベートリポジトリにソースを取得できない模様。
もっと言うならcomposer.json
に以下のようにリポジトリを書かないといけないパターンです。
"repositories": {
"sample": {
"type": "git",
"url": "git@github.com:sample/sample.git"
}
}
解決策①
SSHキーを生成してGithubに登録する
手順
①キーを生成
$ ssh-keygen -t rsa
②キーの内容をコピー
名前など指定しない上記のコマンドなら~/.ssh/id_rsa.pub
をコピー
③Githubに登録
以下にアクセスしてコピーしたキーを登録
https://github.com/settings/keys
④動作確認
GithubにSSHしてみる
SSHできたらcomposer install
も成功するはず
$ ssh -T git@github.com
Hi {user_name}! You've successfully authenticated, but GitHub does not provide shell access.
解決策②
composer.json
のurlをhttpsのものに変更する。
ユーザー名とパスワード(現在だとアクセストークン)でソースを取得できます。
"repositories": {
"sample": {
"type": "git",
"url": "https://github.com/sample/sample.git"
}
}