0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker環境のLaravelで artisan コマンドで作成したファイルが編集できない問題の解決策

Posted at

はじめに

みなさん、Docker環境でLaravel開発してますか?🐳
最近ちょっとハマったことがあって、それを共有しようと思います!

問題点

Docker環境でLaravelの開発してるとき、以下のようなコマンドでファイルを作成すると...

docker compose exec app php artisan make:command SampleCommand

作成されたファイルの権限がrootユーザーになっちゃって、VSCodeで編集できない問題が発生します😱

これって結構イラッとしますよね?編集しようとしたら「権限がありません」って怒られるの、すごくストレス...😅

原因

これは、dockerコンテナ内でコマンドを実行すると、デフォルトでrootユーザーとして実行されるためです。
そのため、作成されるファイルもroot権限になっちゃうんですね。

解決策

超簡単な解決策があります!コマンド実行時にホストマシンのユーザーIDを指定しちゃいましょう!

docker compose exec --user $(id -u):$(id -g) app php artisan make:command SampleCommand

このコマンドのポイント:

  • --user オプションを使って実行ユーザーを指定
  • $(id -u): 現在のユーザーのID
  • $(id -g): 現在のユーザーのグループID

これで作成されるファイルの所有者が、ホストマシンの自分のユーザーになります!
もう「権限がありません」って怒られることはありません!🎉

まとめ

  • artisanコマンドでファイル作成すると、デフォルトではroot権限になる
  • --user $(id -u):$(id -g) オプションを付けることで解決!
  • これでストレスフリーな開発ができる!

みなさんも同じような問題にハマったことありませんか?
この解決策で快適な開発ライフを送れること間違いなし!😊

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?