겨울 휴가 기간에 다른 소식들과 뒤섞여 이 변경 사항의 공지사항을 완전히 놓쳤습니다. 취미로 사이트를 운영하다 보니 이 포럼을 정기적으로 읽지는 않습니다. 오늘 업데이트로 사이트가 깨진 후에야 그 사실을 알게 되었습니다. 이제 EMBER_VERSION이 이미 비활성화되어 이전 버전으로 되돌릴 방법이 없고, 수정해야 할 부분을 수정할 방법도 없습니다. 비활성화 경고가 표시되지 않기 때문이죠(휴가 전 마지막으로 능동적인 유지보수를 했을 때 경고가 표시되지 않았습니다). 어쨌든 저에게 Ember에 대한 지식은 거의 없습니다.
이러한 상황은 개발자 포럼을 매 순간 주시할 수 없는 취미 개발자에게 기본 버전이 실제로 안전하게 사용 가능한 다른 포럼 솔루션으로 데이터베이스를 추출하여 이동을 고려하게 만들고 있습니다.
Ember 5가 깨지는 이유나 무엇이 문제인지 전혀 모르는데, 다른 해결책이 있을까요? JavaScript 콘솔은 도움이 되지 않습니다.
화면에 무한히 로딩 아이콘만 표시되고 "Ember not found"라는 메시지가 뜹니다.
저는 Digital Ocean의 기본 표준 버전인 Discourse를 설치했습니다. 설치 과정에서 어떤 브랜치를 사용할지 묻는 질문은 전혀 없었고, 당연히 LTS 버전이 설치될 것이라고 가정했습니다. 2개월 안에 파괴적 변경이 포함된 기능이 배포된 후 필수로 전환되는 것은 제가 생각하는 LTS의 개념이 아닙니다. WordPress나 Linux에서는 LTS가 아닌 릴리스에서도 이렇게 하지 않을 것입니다. 모든 새로운 DigitalOcean 드롭렛에 대해 이 문제를 수정하고, 개인 사용자는 사용하지 않는 것이 좋다는 경고를 추가해 주세요.
그럼에도 불구하고, 표준 설치(DO의 버전이 아닌 것)에서 tests-passed(기본값)는 LTS가 아니며, stable이 LTS입니다. CDCK가 이 기본값을 장려하려는 이유는 커뮤니티를 통해 최신 버전을 테스트할 수 있기 때문이라고 생각합니다. 무료 소프트웨어를 받는 대가로 합리적인 조치라고 볼 수 있죠. 하지만 선택지는 항상 열려 있습니다.
네, @RGJ와 같은 의견입니다. 위에서 언급된 ‘Ember not found’ 오류를 기준으로 볼 때, 가장 가능성 높은 원인은 'ember-global’의 비추천(deprecation) 처리입니다. 자세한 내용은 여기에서 확인하실 수 있습니다(원래 공지에서 링크됨). 해당 플러그인들에서는 Ember.Component 및 일부 Ember.computed.* 호출에 이 기능이 사용되고 있는 것으로 보입니다.
간단한 PR 두 개를 첨부합니다. 이 수정 사항 이후에 다른 문제가 드러날 가능성은 있지만, JS 코드를 대략 살펴본 결과 눈에 띄는 문제는 보이지 않습니다.
set / setProperties 관련 부분은 잘못된 것 같습니다. Ember 5에서 이 함수들이 여전히 존재하는지 확인했습니다. 또한 this._super를 super로 변경해도 작동하지 않았고, 컴파일 중에 오류 메시지가 나타났습니다. computed 문법도 현재 변경되었는데, 원래 문법이든 Copilot이 추천한 문법이든 둘 다 맞지 않습니다. 그래서 Ember 5에서 무엇이 더 변경되었는지 아이디어가 떠오르지 않습니다. 저는 다른 프로젝트에서는 Ember를 사용하지 않습니다.
네, AI가 비필수적인 새로운 패턴(네이티브 클래스 구문, this.set/get 등)과 필수적인 비추천(deprecation) 수정 사항 사이를 구별하는 데 어려움을 겪을 수 있다고 생각해요. AI의 제안은 여전히 유용할 수 있지만, 무엇을 신뢰하고 무엇을 무시할지 알 만큼 충분한 컨텍스트가 있을 때만 그렇습니다.