라라벨 브리즈를 라이브와이어Livewire로 설치하고, 라라벨 디버그바Laravel Debugbar도 설치하는 등 초기 세팅을 하다가 갑자기 에러가 발생했다.
그 에러를 해결하는 방법을 공유하려고 한다.
너무 간단해서 오늘의 글은 굉장히 짧을 것 같다.
이전 포스트
라라벨 라이브와이어(Livewire)란 무엇인가?
브리즈를 설치한 직후에는 괜찮았다.
그런데 한글화를 시키고, 디버그바도 설치한 다음에 '로그인'이나 '회원가입' 페이지로 이동하니 갑자기 이런 에러가 떴다.
이 에러는 주로 도커docker 볼륨 마운트 환경에서 우분투(호스트)의 파일 수정 시간(Utime) 변경 권한과 도커 컨테이너 내부의 www-data 혹은 root 유저 권한이 충돌하면서, 블레이드 뷰 파일의 컴파일된 캐시를 갱신(touch())하지 못해 발생한다.
라라벨 성능 최적화를 위한 Laravel Debugbar 설치 및 다크모드 설정하기
이 포스트에서 안내했던 모든 명령어들을 실행했는데도 에러가 사라지지 않는다면, 아래의 명령어를 입력하자.
make app #컨테이너 안으로 들어간다.
php artisan view:clear #나의 경우, 이것만 실행해도 해결이 됐다.
php artisan cache:clear
VSCode의 터미널에서 이 명령어들을 차례대로 실행한다.
이 명령어를 치면 도커 내부에서 직접 기존 뷰 캐시를 날리기 때문에, 권한 인지 오류가 즉시 해결된다.
이제 '로그인'이나 '회원가입' 페이지로 이동할 수 있을 거다.
도커 환경에서 프로젝트를 진행하다 보면, 로컬 컴퓨터와 컨테이너 내부의 파일 소유 권한이 꼬이면서 블레이드Blade 뷰 컴파일러가 파일 수정 시간을 제대로 변경하지 못해 발생하는 오류였다.
이럴 때는 위의 명령어들을 차례대로 입력해 주면 된다.
컨테이너 내부로 직접 진입하여 꼬여있던 기존 뷰 캐시 파일들을 시원하게 날려버리기 때문에 권한 오류가 즉시 해결되는 것을 볼 수 있다.
다음 포스트

0 Comments
댓글 쓰기
🔸 댓글은 블로그 운영자의 승인 후에 블로그에 표시됩니다.
🔸 비로그인 방문자 분께서는 '익명'보다 이름/URL로 댓글을 남겨주시면 감사하겠습니다. (URL은 생략 가능합니다.)
🔸 구글 로그인 방문자는 '알림 사용'에 체크를 하시면, 남겨주신 댓글에 대한 답글 알림을 메일로 받아볼 수 있습니다. 📩