업데이트 중 오류 발생: ESOCKETTIMEDOUT registry.yarnpkg.com

저도 동일한 타임아웃 문제를 겪었지만, 제안된 해결책을 구현하는 데 어려움을 겪어 몇 가지 세부 사항을 추가하고 싶습니다.

첫째, 제 Discourse 설치 위치가 표준이 아니어서 /var/discourse/templates를 찾는 데 애를 먹었습니다. Docker 내부에서 찾아보았는데, 물론 이는 무의미한 일이었습니다.

둘째, 159번째 줄이라는 설명은 더 이상 정확하지 않습니다. template.yml의 다음 섹션을 가리키고 계신 것 같습니다:

- exec:
      cd: $home
      hook: yarn
      cmd:
        - |-
          if [ "$version" != "tests-passed" ]; then
            rm -rf app/assets/javascripts/node_modules
          fi
        - su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'

셋째, 저는 yaml, pups, yarn 또는 이들이 Discourse에서 어떻게 사용되는지에 대해 잘 알지 못해 추측하고 싶지 않았습니다. 대신 원래 섹션에 다음과 같은 변경을 시도했습니다:

  - exec:
      cd: $home
      hook: yarn
      cmd:
        - |-
          if [ "$version" != "tests-passed" ]; then
            rm -rf app/assets/javascripts/node_modules
          fi
        - su discourse -c 'yarn config set network-timeout 600000 -g && yarn install --frozen-lockfile && yarn cache clean'

이 방법이 저에게는 잘 작동했습니다. ./launcher rebuild app 명령이 매우 오랜 시간(저는 2시간 이상) 걸리지만, 적어도 완료까지 실행되며 포럼이 다시 작동합니다.

마지막으로, 이 문제(제 경우)가 메모리 부족 때문이 아니었음을 분명히 하고 싶습니다. 32GB가 설치된 VPS를 사용 중이며, 문제가 발생했을 당시 24GB가 사용 가능 상태였습니다.