물론 그건 자의적이긴 하지만, 테스트 중인 discourse 인스턴스가 로컬 인스턴스가 아닌데 discourse_theme를 discourse의 로컬 클론에서 실행해야 하는 건 좀 터무니없어.
어쨌든, 당신이 제안한 대로 새 GitHub Codespace와 내 자체 개발 환경 모두에서 시도해 보았지만, 여전히 동일한 오류가 발생해.
로그 전체(또는 터미널 히스토리에 들어가는 모든 로그)를 살펴보니, 오류가 발생하는 디렉터리는 모두 /node_modules/.pnpm이야. pnpm 대신 yarn을 사용하도록 아직 업데이트되지 않은 다른 TC(테마 컬렉션)에 대해 discourse_theme를 테스트하고 실행해 보았을 때, 어떤 오류도 보이지 않았어. 그래서 이 문제가 .pnpm을 관찰(watching)하는 것과 관련이 있다고 거의 100% 확신해.
Symlinked `node_modules` structure | pnpm 에 따르면, node_modules의 일반 구조는 실제 코드를 모두 /node_modules/.pnpm으로 이동시키고, /node_modules/의 나머지 디렉터리들은 .pnpm으로 향하는 심볼릭 링크일 뿐이므로 유지된다고 해. 따라서 .pnpm을 무시하면 “directory is already being watched!”(디렉터리가 이미 관찰 중입니다!) 오류를 피할 수 있어.
discourse_theme 지엠(gem)을 조금 만져 보고 watcher.rb에 listener.ignore /node_modules\/\.pnpm/를 추가했는데, 오류 메시지 없이 잘 작동하는 것 같아. 심지어 새로운 pnpm 패키지 설치도 감지했어.