여기에 설치 방법 목록이 있습니다: Set up a local Discourse Development Environment?. 저는 Docker를 사용하지 않는 개발 사이트(Ubuntu 가이드 사용)를 사용하고 있습니다. 가능하다면, Docker를 사용하지 않는 방식이 가장 좋은 결과를 얻을 수 있다고 생각합니다. 제가 이 방식을 사용하는 이유 중 하나는 로컬에서 개발 중인 다른 애플리케이션과 Discourse 사이의 API 요청에 대한 네트워크 문제를 처리하지 않아도 되기 때문입니다. 또한 Docker보다 빠릅니다.
적용되어야 합니다. SSO 페이로드를 생성하는 애플리케이션에서 부울 값 true가 1로 변환되지 않도록 확인하십시오. 이는 흔한 문제입니다. 이를 해결하려면 SSO 페이로드의 모든 부울 값을 문자열 "true" 또는 "false"로 설정할 수 있습니다. Discourse는 이를 올바르게 해석합니다. 먼저 이것이 문제인지 확인해 보세요. 다른 문제일 수도 있습니다. avatar_force_update를 처리하는 코드는 다소 복잡하지만 읽을 수 있습니다: discourse/app/models/discourse_connect.rb at 187204705323b650d61ed25862eb1a0c733aa63c · discourse/discourse · GitHub.
수정: SSO 페이로드의 부울 값 문제에 대해, SSO 페이로드 생성 과정에서 환경이 부울 값 true/false를 문자열로 변환한다고 말하는 것이 더 정확할 것입니다. Discourse는 문자열이 "true" 또는 "false"일 것을 기대하지만, 다른 프로그래밍 환경에서는 다르게 처리할 수 있습니다. 예를 들어:
PHP:
wp> strval(true)
=> string(1) "1"
반면에 Ruby:
irb(main):001> true.to_s
=> "true"
Python (Discourse가 이 경우를 어떻게 처리하는지는 확실하지 않습니다):
>>> str(True)
'True'