관리 메뉴

log.Sehee

TIL / 4/18 / Watchman warning 오류 본문

TLC - 5 ⛺/Today I Learn

TIL / 4/18 / Watchman warning 오류

Sehe_e 2023. 4. 19. 02:10

 

문제

 

저번주에 팀 프로젝트를 진행할 때부터 고질적으로 뜨던 오류가 있었다.

Watchman warning: opendir(/Users/isehui/Library/Containers/com.apple.corerecents.recentsd/Data/Library/Recents) -> Operation not permitted. Marking this portion of the tree deleted
To clear this warning, run:
`watchman watch-del '/Users/isehui' ; watchman watch-project '/Users/isehui'`

이 문구가 python manage.py runserver를 실행하면 동시에 밑으로 수십줄이 뜨는 바람에 매번 스크롤바를 올려서 링크를 찾아 들어가야 하는 수고를 들였다..

팀플 진행에 직접적인 피해가 있던 것은 아니라 당장 어쩌진 못했지만 다음주에는 장고 심화 과제를 진행해야 했기 때문에 오늘 해결해보자고 생각하였다.

 


시도

 

1. Chat GPT에게 물어보기

요약 ( 글쓴이는 이 방법으로 해결 못 함 )

더보기
01

 

1. /User/isehui 파일을 읽지 못해서 생기는 오류이니 해당 경로를 대상에서 제거 후 다시 추가하여 실행하기

# 제거
watchman watch-del '/Users/isehui'

# 추가
watchman watch-project '/Users/isehui'

# 끄기
sudo launchctl unload /Library/LaunchDaemons/com.github.facebook.watchman.plist

# 켜기
sudo launchctl load /Library/LaunchDaemons/com.github.facebook.watchman.plist

 

2. 결과값은 No such file or directory였다. watchman.plist파일이 없으니 설치하고, 최신 버전인지 확인해야 함

# Homebrew를 사용하여 watchman을 설치
brew install watchman

# 이미 설치 후이거나 최신 버전일 경우, 문제를 일으키는 파일 or 디렉토리가 있는지 확인해야 하며 삭제 or 권한을 수정해야 한다

 

3. 이후에는 경로에 대한 권한의 변경과 삭제에 대한 안내가 이루어졌다.

 

하지만 계속되는 오류 메세지의 반복과 불변 플래그를 해제해야 한다는 안내문 때문에

이 방법으로는 안될 것 같아 다른 방법을 찾아보기로.

 

- StackOverflow에 검색

Chat GPT에게 정보 얻기를 실패하고 Watchman이 무슨 역할을 하는지부터 알아보자고 생각했다.

하지만 생각보다 흔한 오류였는지 나와 같은 오류가 뜨는 사람의 질문을 찾을 수 있었다.

https://stackoverflow.com/questions/59346532/watchman-warning-in-react-native-app-running-through-expo

 

해당 글을 읽은 후 나름대로 오류에 대한 해석

watchman은 프로젝트 디렉토리를 추적하는 기능을 가지고 있는데

그 추적 기능이 데스크톱의 최상위 폴더인 User부터 추적하기 시작하여 쓸데없이 너무 많은 정보를 추적하기 때문에 일어난 오류같았다..

 

# 터미널에서 실행
isehui@isehuiui-MacBookPro ~ % watchman watch-del '/Users/isehui'

{
    "version": "2023.03.06.00",
    "watch-del": true,
    "root": "/Users/isehui"
}

그런데 뭔가 이상하지 않나..? 나는 root 폴더에서 /User/isehui 루트를 지우려고 명령어를 적은건데 왜 그대로인 것 처럼 보일까

실행된 내역이 나온거겠거니 생각하면서 runserver를 돌렸지만 역시나 똑같은 오류 문구가 나왔다.

 


해결

 

나 혼자선 역시 답이 안나오겠다 싶어서 매니저님을 찾아뵈었다.

답을 바로 찾았다 ㅎㅎ..

맨 위에 폴더명 앞에 venv가 비활성화 되어있는 상태로 pip list를 뽑아보니

가상환경이 아닌 내 데스크탑 본체에 설치되어 있는 인터프리터가... ;p

이건 pywatchman을 삭제한 뒤 찍은 list라서 없지만 저 list에 pywatchman도 포함되어있었다..

그래서 watchman이 쓸데없이 프로젝트 파일만이 아닌 최상위 폴더부터 전부 읽고 있었던 것이였다..

 

이건 venv를 활성화 한 뒤 뽑아본 pip list

갯수의 차이가 현저하다.. 가상환경에 깔았어야 할 인터프리터들을 전부 데스크탑 본체에 깔아 사용하고 있었던 것이였다.

맥북아 미안해 ; p

 


배운 점

 

여태동안 가상환경 / venv.. 초반에 반사적으로, 무조건 만들고 시작하니 매번 만들긴 했지만 무슨 필요가 있나 싶었는데 내 컴퓨터의 용량과 인터프리터들의 기능적 한계를 지켜주는 중요한 친구였다는 것을 깨달았다.

앞으로 pip install을 실행할 때는 가상환경이 활성화가 되어있나 무조건 확인을 해보아야 한다는 것도 : > ...

양매니저님 감사합니다.. 중요한 것을 깨달았습니다.. 복받으세요... 행복하십쇼...

 

 


나만의 작은 꼬북튜터님 TDMI.. To Day Much Information..

2023.04.18 - [TLC - 5 ⛺/Today I Learn] - TIL / 4/17 / Django 팀프로젝트_Codeshare 발표

튜터님께.. 움짤.. 허락 안받고 올린게 은근히 찔려서.. 자랑할 겸 허락도 받을 겸 찾아뵈어서 보여드렸더니

 

아... 너무 뿌듯해... (´∀`).. 쑥스러워하시는거 너무 귀여우셔..

엊그제 쓴 튜터님 귀걸이 얘기도 해주셨다... 진짜 TIL 새벽에도 꼬박꼬박 쓰게 만드신다...

내일도 쓰자.. TIL의.. 본질.. 튜터님의 TDMI

Comments