環境
問題
vagrant@contrib-buster:~/workspace$ bin/rails new sample -d postgresql
をしても、以下のエラーが出る。
Permission denied @ dir_s_mkdir - /home/vagrant/workspace/sample (Errno::EACCES)
Permission denied ということは、実行権限がないのが原因。 ただし、sudo をつけてもダメだった。
解決
権限をチェックする。
vagrant@contrib-buster:~$ ls -la ~ ~ # やはりroot権限になっている drwxr-xr-x 3 root root 4096 Mar 27 20:51 workspace
workspace ディレクトリへ移動し、ユーザーネーム vagrant に権限を付与する。
vagrant@contrib-buster:~/workspace$ sudo chown -R vagrant .
これで解決した。
解決の糸口になったこと
ひとつ上の階層にいくと、rails new が実行できたことからヒントを得た。
# これだとできた vagrant@contrib-buster:~$ rails new sample -d postgresql
ホームディレクトリには実行権限がある。ということは、workspace ディレクトリには権限がないと考えた。
参考