Discourse 플러그인에서 Gem 버전 충돌 관리하기

안녕하세요, 외부 제ems를 사용하여 Discourse 플러그인을 개발하고 있습니다. 외부 gems 사용에 관한 다른 포스트들의 조언, 예를 들어 Requiring external gems 과 Plugin using own gem - #3 by kgish 를 이미 참고했습니다. 이러한 조언들은 외부 패키지 사용에 필요한 추가 패키지를 추가하는 내용을 포함하고 있습니다. 이는 Discourse 플러그인 개발 시 잘 작동합니다. 그러나 가끔씩 Discourse를 업데이트한 후, 플러그인과 최신 버전의 Discourse로 Discourse를 다시 빌드할 때 gem 버전 충돌과 관련된 오류가 발생합니다.

오류의 예시는 다음과 같습니다.

rake aborted!
Gem::LoadError: can't activate addressable-2.8.4, already activated addressable-2.8.5

다른 플러그인에서도 비슷한 상황을 관찰했으며, 다음 포스트들의 일부 사례에서 확인할 수 있습니다: Install discourse failed due to Custom Wizard plugin 과 Failed to Bootstrap after upgrade.

현재 제가 시도하고 있는 해결책은 패키지를 최신 버전으로 업데이트하여 Discourse Core에서 사용되는 버전과 일치시키는 것입니다.

그러나, 업데이트할 때마다 패키지를 Discourse Core의 최신 버전과 일치시키기 위해 업데이트하지 않아도 되는 이 문제의 해결책이 있는지 문의드립니다.

Core를 기준으로 각 종속 플러그인의 버전을 일치시키기 위해 해당 플러그인을 업데이트(또는 PR)해야 합니다. 서로 다른 버전을 혼합할 수 없습니다.

이 경우, 사용하는 플러그인 중 addressable-x.x.x를 사용하는 것이 있다면, 반드시 addressable-2.8.5 버전으로 최신화했는지 확인해야 합니다.

@merefield 님, 답변 감사합니다. 네, 패키지 버전 충돌이 발생할 때마다 저는 항상 이렇게 처리하고 있습니다. 아마도 플러그인의 버전 관리를 더 잘 해야 할 것 같습니다. 이렇게 하면 Discourse의 구버전을 계속 사용하려는 사용자들도 플러그인을 계속 사용할 수 있을 테니까요.