안녕하세요 - 먼저, 이 버그 리포트를 저장소에 직접 제출할 수 있으면 좋았을 것 같습니다: GitHub - discourse/discourse_theme: CLI helper for developing Discourse themes · GitHub - 제가 지금 있는 곳이 적절한 곳인지 확신이 서지 않아서요.
discourse_theme는 Ruby 도구인데, 제 컴퓨터에 Ruby를 설치하고 싶지 않아서요. 또한 팀 전체에서 Ruby 버전을 통일하고 싶어서 이 Docker 이미지를 만들었습니다:
# syntax = docker/dockerfile:1.10
# RUBY_VERSION이 .ruby-version과 Gemfile의 Ruby 버전과 일치하는지 확인하세요
ARG RUBY_VERSION=3.4.2
ARG ALPINE_VERSION=3.20
FROM ruby:$RUBY_VERSION-alpine${ALPINE_VERSION}
# 패키지 설치
RUN --mount=type=cache,id=dev-apk-cache,sharing=locked,target=/var/cache/apk \
--mount=type=cache,id=dev-apk-lib,sharing=locked,target=/var/lib/apk \
apk add \
ca-certificates \
bash \
tzdata \
xz-libs \
gcompat \
zstd-libs \
libpq
RUN gem install discourse_theme
ENTRYPOINT ["discourse_theme"]
이렇게 실행할 수 있습니다:
# 먼저 BUILD
docker build -t discourse_theme:latest .
# WATCH 실행
docker run -i -t --rm -v $(pwd):/root -w /root discourse_theme:latest watch .
여기서 보고하려는 문제는 CLI의 상호작용(인터랙티비티)에 관한 것입니다.
Docker 내부에서는 키보드 상호작용이 작동하지 않습니다.
실행할 때 이 현상을 확인했습니다:
화살표 키를 누르면 도움말 메시지는 사라지지만, 초록색 “선택됨” 옵션은 절대 이동하지 않습니다:
따라서 이것은 Gem의 버그라고 생각합니다. 키 입력은 감지했지만 선택 항목을 이동시키지 않은 것입니다. 많은 키 입력을 테스트해 보았습니다.
또 다른 테스트로 이미지에서 bash를 실행하고 거기서 discourse_theme를 시작해 보았지만, 동일한 문제가 발생했습니다.
$ docker run -it --rm -v $(pwd):/root -w /root --entrypoint /bin/bash discourse_theme:latest
9f5736f3265e:~# discourse_theme watch .
Ruby CLI 도구의 일반적인 동작인가요, 아니면 버그인가요? 감사합니다

