'unmet peer dependency' 메시지의 원인은 무엇인가요?

업데이트가 실패하고 있으며, 어떤 에러 메시지가 원인인지 파악하려고 하고 있습니다. 지난 1~2년간 수행한 모든 업데이트가 실패했고, 완료하려면 상당한 조치가 필요했습니다.

실패한 업데이트마다 이러한 peer dependency unmet 메시지가 표시되는 것을 확인했습니다. 하지만 여기에서 이에 대한 논의가 거의 없었고, 결국 앱을 로드할 수 있게 되었기 때문에 지금까지는 무시하기로 했습니다.

예시입니다:

warning " > @glint/environment-ember-loose@1.0.2" has unmet peer dependency "@glimmer/component@^1.1.2".
warning " > @glint/environment-ember-template-imports@1.0.2" has unmet peer dependency "ember-template-imports@^3.0.0".
warning " > @mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning Resolution field "babel-plugin-ember-template-compilation@2.0.0" is incompatible with requested version "babel-plugin-ember-template-compilation@^2.0.1"
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning " > babel-plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-a96edb02-ebd3-494c-9d78-028c6a7e5bb3 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".

이것은 app.yml 파일에서 Docker Manager를 제외한 모든 플러그인이 꺼진 상태입니다.

가장 유사한 토론에서 확인한 바로는, 리빌드 문제가 몇 년 전에 생성된 드롭렛(Droplet) 때문일 수 있으며, 그곳에서 이러한 버전들이 모두 뒤처져 있으므로 최선의 해결책은 새로운 드롭렛을 생성하고 이전하는 것이라고 제안되었습니다.

그것이 원인이며 올바른 조치인가요?

드루, 안녕하세요 :slight_smile:

Discourse가 설치된 운영체제와 버전은 무엇인가요?

최신 버전의 Discourse로 업데이트를 마쳤지만, 아직 앱을 빌드하지는 못했습니다.

Ubuntu 18.04.6 LTS

Docker 20.10.14

업데이트가 작동하지 않는 이유를 알 수 없으며, 보시는 메시지들은 관련이 없다고 생각합니다: 경고(warnings)이지, 오류(errors)가 아니니까요.

어떤 "시도"를 하셨나요?

새로운 서버에 Discourse를 다시 설치하는 것은 꽤 쉽고 빠릅니다(물론 포럼 규모에 따라 다릅니다). 따라서 이를 시도해 보시는 것도 좋습니다. 식별되지 않은 문제를 해결할 수 있을지도 모릅니다. 하지만 저라면 문제가 무엇인지 확실히 알고 싶을 것입니다.

음, 어떻게 된 일인지 중복 태그가 생겨서 앱이 다시 빌드되지 않고 있어요. 이 가이드를 따르면 수정할 수 있긴 한데:

..하지만 앱이 실행되지 않고 시작도, 다시 빌드도 안 되니 앱에 들어가서 수정할 수가 없어요.

이 에러들 때문이거나, 저희 Docker와 Ubuntu 버전이 좀 오래되었기 때문일 것 같다는 생각이 드네요.

새로운 드롭렛에 새로운 Discourse를 띄워서 Discourse를 설치한 뒤, 명령줄을 통해 최신 백업을 복원해서 DB에서 중복 태그를 수정하고 앱을 다시 로드해볼 계획이에요.

이 경고들이 왜 나타나는지 그 이유도 알고 싶습니다. 이 경고들을 본 후로 빌드 실패도 발생하고 있습니다.

111:M 25 Sep 2023 23:13:54.237 # Redis is now ready to exit, bye bye...
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:110:in `readlines': Interrupt
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:110:in `block in spawn'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:103:in `popen'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:103:in `spawn'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:80:in `block in run'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:78:in `each'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:78:in `run'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/command.rb:8:in `run'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:152:in `block (2 levels) in run_commands'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:142:in `each'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:142:in `block in run_commands'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:141:in `each'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:141:in `run_commands'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/config.rb:124:in `run'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/cli.rb:65:in `run'
        from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/bin/pups:9:in `<top (required)>'
        from /usr/local/bin/pups:25:in `load'
        from /usr/local/bin/pups:25:in `<main>'

안정판 3.1.1 빌드를 사용 중이었고, 데이터 탐색기 플러그인을 포함하도록 app.yml 파일을 수정한 후 이제 실패하고 있습니다. 최근 완전한 재빌드를 하지 않았고, Discourse 업데이트에는 웹 관리 콘솔만 사용했으며, 지금까지만 해도 문제가 없었습니다. Ubuntu 시스템의 모든 패키지는 최신 상태입니다.

업데이트: 두 번째 재빌드 후 문제가 스스로 해결된 것 같습니다. 경고는 여전히 표시되지만 재빌드는 성공적으로 완료되었습니다. 경고가 왜 갑자기 나타나는지, 그리고 이것이 어떤 영향을 미치는지(있다면) 아는 것이 흥미로울 것입니다.

이 문제가 커지기 전에 해결할 수 있는 방법은 다양합니다. 일반적으로 재구성을 하거나 이전 백업으로 복원한 후 관리자 영역에서 중복 항목을 수정할 수 있습니다. 제 경우에는 상황이 악화되었는데, 만약 여러분에게도 이런 일이 발생한다면 수동으로 DB를 수정하는 최악의 시나리오를 아래에 공유합니다:

완료 전에 Ctrl+C를 눌러 취소한 것 같습니다?

"redis is ready to exit"와 같은 메시지는 정상적인 것입니다.