package.jsonの依存関係の各overrideを付録に記録し、セキュリティ上の問題をスキャンして、安全に管理できるCLIです。
gomods/athens
Goの依存関係をキャッシュするための、Go modulesダウンロードプロトコルに対応したオープンソースのセルフホスト型プロキシ兼データストアです。
- スター
- 4,820
- フォーク
- 553
- 未解決の Issue
- 122
- 最終コミット
- 5 日前
これは何?
AthensはGo modulesダウンロードプロトコルに対応したGo moduleプロキシです。goコマンドは上流のソースから直接ではなく、Athens経由で依存関係を取得できます。また、データストアとしてモジュールのバージョンを保存するため、元のソースが利用できなくなってもビルドを続けられます。
Athensはさまざまな環境に合わせて設定できます。クラウドのblobストレージサービス、MongoDB、コンテンツ配信ネットワーク(CDN)、共有ディスク、インメモリストレージなど、複数のストレージバックエンドに対応しています。チームでAthensサーバーを運用し、各自のローカルGo環境からそのサーバーを利用することもできます。
このプロジェクトはGoで書かれており、ライセンスはMITです。ドキュメントサイトでは、インストール方法、ストレージの設定、プロキシの設計について説明しています。
主な機能
- 01Go modulesダウンロードプロトコルに対応しており、goコマンドからmoduleプロキシとして利用できます。
- 02クラウドのblobストレージ、MongoDB、共有ディスク、メモリなど、さまざまなバックエンドにモジュールのバージョンを保存できます。
- 03CDNの背後に配置して、モジュールのダウンロードを配信できます。
- 04モジュールのコピーを保持し、元のソースが利用できなくなってもビルドを続けられます。
ユースケース
- チームや企業で共有のmoduleプロキシを運用し、Goのビルドを高速化する。
- Goの依存関係をキャッシュし、上流のソースが利用できないときもビルドを継続する。
- 社内のGo開発環境で利用できるモジュールのバージョンを管理する。
クイックスタート
- 1
Athens プロキシをデプロイするには、docs.gomods.io のインストールガイドを確認してください
- 2
DEVELOPMENT.md に従って開発環境をセットアップしてください
使う前に知っておきたいこと
- README にはワンコマンドでのインストール方法が記載されていないため、セットアップには外部ドキュメントに従う必要があります。
- セルフホストするには、プロキシ用のストレージバックエンドを設定する必要があります。
トピック
よくある質問
- athens とは?
- Goの依存関係をキャッシュするための、Go modulesダウンロードプロトコルに対応したオープンソースのセルフホスト型プロキシ兼データストアです。 AthensはGo modulesダウンロードプロトコルに対応したGo moduleプロキシです。goコマンドは上流のソースから直接ではなく、Athens経由で依存関係を取得できます。また、データストアとしてモジュールのバージョンを保存するため、元のソースが利用できなくなってもビルドを続けられます。
- athens は無料で使えますか?ライセンスは?
- athens は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- athens は今もメンテナンスされていますか?
- 活発にメンテナンス中。athens の最終コミットは 2026年11月2日 です。
- athens は何に使えますか?
- チームや企業で共有のmoduleプロキシを運用し、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向け依存関係管理ツール。
リポジトリ内の古いパッケージを検出し、アップグレード用のプルリクエストを作成する依存関係の自動更新ツールです。
共有のコンテンツアドレス可能ストアを使ってパッケージをリンクする、高速でディスク効率に優れたNode.jsパッケージマネージャー。厳格な依存関係の分離とmonorepoに対応。
Rust公式のパッケージマネージャー。プロジェクトの依存関係をダウンロードし、Rustコードをコンパイルします。