railsで作成したアプリをEC2にgit cloneしようとした際にエラーと格闘することになったので、その備忘録を記載しておきます。
##fatal: could not create work tree dir
まず最初にgit cloneを実施した際に発生したエラーです。
ec2-user@~ $ git clone URL
>fatal: could not create work tree dir 'アプリ名': Permission denied
これは権限の問題である場合が多いです。
そのため、sudoを付けて実行します。
##Permission denied (publickey).
ec2-user@~$ sudo git clone URL
>Cloning into '~'...
~省略〜
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
まず「Permission denied (publickey).」という部分から公開鍵の設定がうまくいっていないと考え、configファイルの記述を見直したり、鍵の再作成をしてGitHubのSSH keysの再設定も実施しましたが、同じエラーが出るだけでした。
その過程でSSH認証はきちんとできていることが確認できたので、後怪しい部分はユーザー権限ぐらいしか思い浮かびません。
今回は、/var/www/railsディレクトリにクローンしたかったので、各ディレクトリに権限を付与していきます。
$ cd /
$ sudo chown ec2-user var
$ cd var
$ sudo chown ec2-user www
cd www
$ sudo chown ec2-user rails
$ cd rails
個別ユーザーでログインしている場合は、ec2-userの部分が個別ユーザー名となります。
これで再度、git cloneを実施すると無事クローンすることができました。
念のため、lsコマンドで確認してもしっかりとアプリ名が記載されていました。
いつの間に権限が変わってしまったのか不明だったので、エラー解決まで時間がかかってしまいました。
同じエラーが発生しており、鍵の再作成などでも解決できない方は一度権ユーザー権限の確認をしてみてはいかがでしょうか。