1.7 KiB
1.7 KiB
dua 설치 스크립트 오류 수정 완료 보고서 (FIX-DUA-INSTALL-PHASE01)
1. 장애 원인
Byron/dua-cli GitHub 저장소에서 CLI 바이너리 릴리스(v2.46.0 등) 외에 내부 코어 라이브러리 릴리스(dua-core-v5.0.1 등, 바이너리 에셋 없음)를 함께 발행하기 시작하면서, 기존 prerelease == false 조건만 검사하던 로직이 dua-core-v5.0.1 태그를 선택하여 존재하지 않는 URL(.../dua-dua-core-v5.0.1-...)을 다운로드하려다 404 오류가 발생하였습니다.
flowchart LR
API[GitHub Releases API] --> Old[기존: 첫 번째 prerelease=false 선택<br/>dua-core-v5.0.1 선택됨 -> 404 에러]
API --> New[수정: tag_name이 'v*'로 시작하고<br/>assets가 존재하는 릴리스만 선택<br/>v2.46.0 정상 다운로드]
2. 주요 변경 사항
2.1. install-dua.sh
jq및python3,grep파서에서tag_name이v로 시작하고(startswith("v"))assets배열이 비어있지 않은 릴리스만 필터링하도록 수정- GitHub API Rate Limit 등으로 실패할 경우를 대비한
FALLBACK_TAG="v2.46.0"안전장치 추가 - Linux에서 불필요하게 실패하는 배포판 패키지 매니저(
apt,dnf등에는 기본적으로dua-cli가 없음) 시도 과정을 제거하고 GitHub 공식 정적 바이너리(musl)를~/.local/bin/dua에 직접 설치하도록 개선
2.2. install-dua.ps1
winget의존성을 제거하고 GitHub Releases API에서v*태그의 Windows 아키텍처별 바이너리(dua-{TAG}-{ARCH}-pc-windows-msvc.zip)를 직접 다운로드하여$env:USERPROFILE\.local\bin\dua.exe에 설치하고 사용자 PATH에 자동 등록하도록 개선