각 package.json 의존성 오버라이드를 부록에 기록하고 보안 문제를 검사해 안전하게 관리할 수 있는 CLI입니다.
gomods/athens
Go 의존성을 캐싱하는 Go modules 다운로드 프로토콜 구현체인 오픈소스 자체 호스팅 프록시 겸 데이터스토어입니다.
- 스타
- 4,820
- 포크
- 553
- 열린 이슈
- 122
- 마지막 커밋
- 6일 전
어떤 프로젝트인가요?
Athens는 Go modules 다운로드 프로토콜을 구현하는 Go 모듈 프록시입니다. 따라서 go command는 업스트림 소스에서 직접 의존성을 가져오는 대신 Athens를 통해 가져올 수 있습니다. 또한 데이터스토어 역할도 하며, 모듈 버전의 사본을 보관해 원본 소스를 사용할 수 없을 때도 빌드를 계속할 수 있게 합니다.
Athens는 다양한 배포 환경에 맞게 설정할 수 있습니다. 클라우드 블롭 스토리지 서비스, MongoDB, 콘텐츠 전송 네트워크(CDN), 공유 디스크, 메모리 등 여러 스토리지 백엔드를 지원합니다. 팀은 자체 Athens 서버를 운영하고 로컬 Go 환경이 해당 서버를 사용하도록 설정할 수 있습니다.
이 프로젝트는 Go로 작성되었으며 MIT 라이선스를 따릅니다. 문서 사이트에서 설치, 스토리지 설정, 프록시 설계를 확인할 수 있습니다.
핵심 기능
- 01Go modules 다운로드 프로토콜을 구현해 go command가 모듈 프록시로 사용할 수 있습니다.
- 02클라우드 블롭 스토리지, MongoDB, 공유 디스크, 메모리 등 다양한 백엔드에 모듈 버전을 저장합니다.
- 03모듈 다운로드를 제공하도록 CDN 뒤에 배치할 수 있습니다.
- 04모듈 사본을 보관해 원본 소스가 사라져도 빌드를 계속할 수 있습니다.
활용 사례
- 팀이나 회사에서 공유 모듈 프록시를 운영해 Go 빌드 속도를 높입니다.
- 업스트림 소스를 사용할 수 없을 때도 빌드가 계속되도록 Go 의존성을 캐싱합니다.
- 내부 Go 개발 환경에서 사용할 수 있는 모듈 버전을 관리합니다.
빠른 시작
- 1
Athens 프록시를 배포하려면 docs.gomods.io의 설치 가이드를 확인하세요
- 2
DEVELOPMENT.md에 따라 개발 환경을 설정하세요
사용 전 알아둘 점
- README에는 단일 명령으로 설치하는 방법이 없으므로, 설정하려면 외부 문서를 따라야 합니다.
- 직접 호스팅하려면 프록시의 스토리지 백엔드를 구성해야 합니다.
토픽
자주 묻는 질문
- athens은(는) 무엇인가요?
- Go 의존성을 캐싱하는 Go modules 다운로드 프로토콜 구현체인 오픈소스 자체 호스팅 프록시 겸 데이터스토어입니다. Athens는 Go modules 다운로드 프로토콜을 구현하는 Go 모듈 프록시입니다. 따라서 go command는 업스트림 소스에서 직접 의존성을 가져오는 대신 Athens를 통해 가져올 수 있습니다. 또한 데이터스토어 역할도 하며, 모듈 버전의 사본을 보관해 원본 소스를 사용할 수 없을 때도 빌드를 계속할 수 있게 합니다.
- athens은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- athens은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- athens은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. athens의 마지막 커밋은 2026년 11월 2일입니다.
- athens은(는) 어디에 사용할 수 있나요?
- 팀이나 회사에서 공유 모듈 프록시를 운영해 Go 빌드 속도를 높입니다. 업스트림 소스를 사용할 수 없을 때도 빌드가 계속되도록 Go 의존성을 캐싱합니다. 내부 Go 개발 환경에서 사용할 수 있는 모듈 버전을 관리합니다.
- athens는 어떻게 설치하나요?
- Athens 프록시를 배포하려면 docs.gomods.io의 설치 가이드를 확인하세요 DEVELOPMENT.md에 따라 개발 환경을 설정하세요
- athens은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gomods/athens
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
단일 pyproject.toml 파일로 프로젝트 의존성을 선언하고 잠금 및 설치하는 Python 패키징·의존성 관리 도구입니다.
Packagist에서 PHP 프로젝트 패키지를 선언하고 설치 및 업데이트하는 의존성 관리자입니다.
저장소의 오래된 패키지를 찾아 업그레이드 pull request를 생성하는 자동 의존성 업데이트 도구입니다.
공유 콘텐츠 주소 지정 저장소에서 패키지를 연결해 디스크를 효율적으로 사용하는 빠른 Node.js 패키지 매니저로, 엄격한 의존성 격리와 모노레포를 지원합니다.
Rust의 공식 패키지 관리자. 프로젝트 의존성을 내려받고 Rust 코드를 컴파일합니다.