mac에서 discourse 개발 환경에 git pull을 한 직후, bundle install은 성공했지만 rake나 rails 명령어를 실행하면 다음과 같은 오류가 발생하고 있습니다.
gems/activesupport-6.0.3.2/lib/active_support/dependencies.rb:324:in `require': cannot load such file -- omniauth/strategies/oauth2 (LoadError)
모든 gem을 삭제하고 처음부터 다시 시작하거나, 처음부터 재설치를 시도해 보았지만 아무것도 작동하지 않으며 계속 동일한 오류가 발생합니다.
개발 환경에서 이 oauth2 관련 기능을 비활성화할 수 있을까요?
아래는 정상적으로 작동합니다:
cd ./discourse
bundle install
하지만 예를 들어 아래 명령어를 실행하면:
$ bundle exec rake db:create
rake aborted!
LoadError: cannot load such file -- omniauth/strategies/oauth2
이런 상황이 오늘 하루 종일 계속되고 있으며, 잠도 자지 못했습니다.
오늘 갑자기 나타나는 이 장애물을 어떻게 넘어갈 수 있는지 알려주시면 감사하겠습니다.
neounix
(Dark Matter)
8월 18, 2020, 1:28오후
2
Hey @DBHacker
macOS에서 개발 환경 관련 문제가 있다는 소식에 안타깝습니다. 정말 까다로운 부분이죠.
특히 당신을 위해, rails(또는 discourse)가 설치된 적 없는 mac mini 중 하나에 로그인해 봤습니다. 파일 서버로만 사용하는, 완전히 초기 상태인 macOS였거든요.
macOS 개발 환경 설치를 처음부터 다시 진행해 보았습니다. 디렉터리 권한 문제와 항상 골칫거리인 cppjieba_rb gem과 관련된 통상적인 문제들은 있었지만, 결국 설치는 완료되었고 마침내:
이렇게 되었네요. 즉, @DBHacker 님의 개발 환경에 일부 손상된 부분이 있는 것으로 보입니다. 오늘 저는 완전히 초기 상태인 mac에서 처음부터 설치를 성공적으로 마쳤거든요.
이 정보가 또 하나의 참고 자료로 조금이나마 도움이 되길 바랍니다.
… 그리고 이제, mac mini에 또 하나 제대로 작동하는 discourse 개발 환경을 갖추게 되었습니다
좋은 결과 있으시길 바라며, 다시 잘 작동하게 되시길 응원합니다!
와 @neounix !!
귀한 시간을 내어 도와주셔서 감사합니다!
이 Mac은 완전히 깨끗한 상태가 아니어서, 답변을 읽고 나서 Ruby 2.7.1, 2.6.1, 2.6.5로 “처음부터” 재설치를 끊임없이 시도해 보았지만 매번 bootsnap와 관련된 다른 오류가 발생했습니다.
새로 생성된 간단한 Rails 앱은 잘 작동하고, Discourse 번들도 잘 작동하지만, Rails를 시작할 때마다 bootsnap 오류가 계속 나네요.
Ruby와 Rails를 완전히 지우고 깨끗한 상태로 처음부터 시작하려 했지만, 진행 중인 다른 Rails 프로젝트들이 있어서 당분간 Discourse 플러그인 학습과 개발은 잠시 보류할 예정입니다.
도와주시고, 깨끗한 환경에서는 잘 작동하는 것을 보여주시기 위해 시간을 내주신 @neounix님께 다시 한번 감사드립니다.
neounix
(Dark Matter)
8월 19, 2020, 3:59오전
4
걱정 마세요. 파일 서버 중 하나에 Discourse 개발 환경을 하나 더 구축하는 재미를 봤거든요
조금이나마 도움이 되었다니 기쁩니다.
neounix:
조금이나마 도움이 되었다니 다행입니다.
@neounix 님, 버전 이미지를 공유해 주셔서 감사합니다
macOS 개발용 설치 스크립트가 어떤 이유로 제대로 업그레이드되거나 설치되지 않아서(설치가 오래되었고 초기 상태가 아니었기 때문이라고 추측하지만, 확실하지는 않습니다. 하지만 좌우로 여러 번 실행해 보았죠), 결국 rvm를 사용하여 Ruby를 수동으로 업그레이드했습니다(이 가이드를 참고했습니다):
그 후 Rails 지엠을 수동으로 version 6.0.3.2로 업데이트하고, ./discourse 디렉터리에서 다시 bundle을 실행했습니다:
정말 감사합니다 !!!