공식 플러그인 추가 시 ActionController::Routing Error 발생

안녕하세요!

저는 Ubuntu(개발 환경)에서 2.9.0.beta11 버전을 사용 중인데, 해당 플러그인 관련해서 다음과 같은 오류가 발생합니다. 플러그인을 사용하지 않으면 완벽하게 정상 동작합니다. 이 플러그인들이 정상적으로 작동하려면 무엇을 해야 하나요?

ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-adplugin.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-canned-replies.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-cakeday.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-checklist.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-solved.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/discourse-spoiler-alert.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call'
ActionController::RoutingError (No route matches [GET] "/assets/plugins/docker_manager.js")
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/missing_avatars.rb:23:in `call'
lib/middleware/turbo_dev.rb:34:in `call' 

개발 환경에서 아주 유사한 문제를 겪고 있습니다.

해결책을 찾으신 건가요?

어떤 이유로 이 코드가 실행되지 않거나 파일이 잘못된 위치에 배치되는 것 같습니다.

결국 Ember CLI 빌드가 성공적으로 완료되지 않은 것처럼 보입니다.

그런데 제 환경에서는 Build successful (70398ms) – Serving on http: ... 메시지가 출력되고 있습니다.

개발 서버를 어떻게 시작하나요? bin/ember-cli를 실행하고 있나요?

네. 비표준 개발 환경 설치입니다. ember-cli를 별도의 컨테이너에서 실행하고 있으며, Rails 서버와 볼륨을 공유하고 있습니다(이것이 문제인지 조사 중입니다).

제일 궁금한 점은: 왜 그렇게 하시는 건가요? :stuck_out_tongue:

확인해 볼 것들:

  • ember-cli 프로세스가 플러그인 디렉토리에 접근할 수 있나요?

  • 공유 볼륨에 무엇이 포함되어 있나요? Discourse 디렉토리 전체인가요? 특히 public/assets와 app/assets/javascripts/discourse/dist를 생각하고 있습니다.

  • HTTP 요청이 어디로 가고 있나요? Ember-cli의 프록시인가요? 아니면 Rails 앱으로 직접 가는 건가요? (두 방식 모두 작동할 수 있지만, 어떤 방식으로 진행 중인지 파악하는 것이 디버깅에 도움이 될 수 있습니다)

현재 제 설정은 다음과 같지만, 확인 중입니다.

요청이 Ember로 가고 있으며, Ember가 Rails 포트에 프록시 처리를 하고 있습니다.

물어보지 마세요 :sweat_smile: (하지만 파이프라인 디버깅을 위한 교육적인 목적입니다!)

확인해 볼 만한 유용한 경로들입니다. OP(질문자)가 어떻게 되었는지 궁금해서요.

미친 설정을 하는 다른 사람들을 위해 제 조사 결과를 보고하겠습니다.

업데이트:

아, 여기가 제가 실수를 한 곳인 것 같습니다!!

추가 플러그인을 두 컨테이너 모두에 추가하는 것을 잊어버렸습니다…

@david 그게 문제였네요. ‘local’ 볼륨 플러그인 매핑을 여러 개 추가했는데, 두 컨테이너 모두에 전부 추가하는 걸 잊어버렸어요 :man_facepalming:

그래서 Ruby on Rails는 다 갖춰져 있었지만, JavaScript는 하나도 없었던 거죠 …

이제 잘 작동합니다 :beers:

@hyphalos 아직 문제가 있다면 알려주세요. 도움을 드릴 수 있을지도 모릅니다 …