일전에 DB커넥팅 문제로 .evn과 config.php 파일 사이에서 고통을 받았다는 글을 적었던 것 같은데,
오늘은 비슷한 얘기로 뭔가 깨달음 아닌 깨달음을 얻은 건에 대하여.
이번에 서버에 Helper를 추가하면서 autoload를 위해 composer.json 파일 autoload, autoload-dev 부분에 각각
"files" : [
"추가할 파일 경로/파일명.php"
]
위와 같은 코드를 작성해주고, 콘솔 창에서 composer update를 실행해주니 잘 연결되던 서버 연결이 또 안되더라.
오류 메세지를 보니까 'Barryvdh\\Cors\\ServiceProvider' not found 라는데, 결국 ServiceProvider를 찾을 수 없다는 뜻. 대충 검색해보니 코드를 추가하거나 빼거나 하라길래 흠 도대체... 하면서 다시 캐시폴더 내 config.php파일을 찾아가서 providers에 항목을 추가했더니 비슷하게 다른 에러가 뜨더라.
이건 근본적인 해결책이 필요한데 싶었는데, 드는 생각이 대체 왜 나는 캐시파일을 따로 설정해줘야 하는 것 인가.. 보통은 자동으로 업데이트 되거나 하지 않나? 였음. 그러다가 문득 스친 생각이, 이전에 .env파일이랑 씨름할 때 거기에 등록된 APP_KEY까지 긁어다 붙여보라는 말에(...) 키를 바꿨던게 기억이 나고.. config.php파일에 등록된 내 키랑 다른걸 확인했고(....) 혹시 몰라 .env파일을 config.php에 등록된 키값으로 바꾸고 다시 composer update 명령어를 실행해주니 정상 작동 하는걸 확인했음.
그리고 해결되고 코드를 보니까 ServiceProvider는 추가하는게 아니라 빠져있더라. (ServiceProvider들은 bootstrap/cache/services.php 파일 내에 등록돼있었고, 그 전에는 저 Barryvdh... 도 같이 있었는데 해결하고 업데이트 하고 보니 그 줄이 지워져 있었음)
결국 .env파일 내 APP_KEY값이 /bootstrap/cache/config.php 파일에 등록된 내 key값과 동일해야 composer도 정상적으로 업데이트 되는 듯 하다.
확실한 정보나 근거는 아니고, 내 경험을 바탕으로 추측한 결과라서 확신은 못 하겠지만 미래의 나에게 조금이라도 도움이 되길 바라며 적는다