コンテンツにスキップ

依存ライブラリがメンテナンスされているか調べる

依存ライブラリのメンテナンス状況を調べる方法を紹介します。更新が止まったライブラリを確認するため、dep-doctor で得られる情報と判定の仕組みを見ていきます。

OSS に依存したシステムを開発していると、依存ライブラリがメンテナンスされているか気になることがあります。 メンテナンスが止まると脆弱性やバグの修正が行われなくなり、将来的な利用が難しくなるという問題です。

dep-doctor

dep-doctorは依存ライブラリがメンテナンスされているか調べるためのツールです。 Ruby、Python、Node.js、PHP、Go、Rust などに対応しています。

インストール

$ brew tap kyoshidajp/dep-doctor
$ brew install kyoshidajp/dep-doctor/dep-doctor

glibc が必要な場合

実行時に glibc がなくてエラーが出ました。次のコマンドで glibc を導入すると解消しました。

apt-get install glibc-source

使い方

$ dep-doctor diagnose --package bundler --file /path/to/Gemfile.lock

使ってみた感想

Python のrequirements.txtに対して試したところ、対象ライブラリの 7 割くらいが誤ってメンテナンス停止と判定されました。 dep-doctor は依存ライブラリの GitHub URL を確認し、LastCommitedAt の情報からメンテナンスの継続を判定する仕組みです。pypi に GitHub URL が記載されていない場合はエラー判定になるため誤検知してしまいます。