Files
install-sh/VIBE-WORK/261031/FIX-DUA-INSTALL-PHASE01.md

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에 자동 등록하도록 개선