パッケージ管理についての簡単なまとめ

パッケージ管理ツールについて調べてみました。
というか先日「パッケージ管理ツールって何?」っていうお話があって、あれ?そういえばなんだろう、と思ったので主観的に調べてみました。

目次

パッケージ管理ツールなど

管理ツールの名前 言語とか メモ
npm Node.JS めっちゃ便利。Node.JSはこれが無いと始まらない。バージョンとかで結構カオスとのこと。
yarm Node.JS npmの早いやーつ。
Bower JavaScript  フロントエンド開発でつかう。最近見かけなくなってしまいました。
Composer PHP packagist.orgを。新しい。まだなくても大丈夫。
PEAR PHP 読み方は洋梨のペア。ちょっと前のPHPでめっちゃ使われてた。情報が多いので今でも使ってる人も多数。
Openpear PHP PEARが堅いのでみんなでどしどし使えるようにしてくれたあれ。あまり知られてないのは悲しい。
Homebrew macOS macOS用。一般ユーザでインストールするのが特徴。新しい。
Mac Ports macOS Homebrewに立場を取られた感。rootで運用。
Yum CentOS みんな大好きCentOS。
Apt Debian/Ubuntu Debian系。派生コマンドが多くて混乱させちゃう子。
Ports FreeBSD Linuxがrpmばっかりだった当時は革新的だった。makeするので遅いのが難点。
pkg FreeBSD 10から採用。Linuxの波にもまれてコンパイル済みを配布するように。
apk Alpine Linux DockerのLinux。aptとpkgとアンドロイドのあれとごっちゃになっちゃう。
Maven Java プロジェクト管理ツール。
Gem Ruby Nokogiriのバージョンで悩まされたことが何度か。
pip Python ぴっぷ?easy_installってやつの強化版。
CPAN Perl ひところのウェブだとかなり使われたイメージが。

ComposerとPEARについて

PEARは少し前に定番のPHPパッケージ管理ツールでした。


Google Trendsによると2013年に検索キーワード数が逆転したようですね。

Composerは最近のPHPではかなり使われているパッケージ管理ツールです。大体は packagist.org からパッケージを落としてくることができますが、それ以外にもオートロードやテスト系などのコマンド群の定義が行えます。

「パッケージ管理ツール」とフロント系

1990年代〜2000年代の頃は「パッケージ管理ツール」といえばPortsとかのOSのミドルウェアとかのパッケージを管理する、というイメージでした。
しかし最近だとnpmやComposerプログラミング言語用のライブラリ管理というイメージがありますね。
ただComposerにはコマンド集約機能もあり、「パッケージ管理ツール」の域を超えている印象もありますね。
JavaのMavenはプロジェクト管理ツールとのことで、

雑感

基本的には自分の使ったことのあるものをまとめてみました。
というかWikipediaにリストがありましたね。

https://ja.wikipedia.org/wiki/パッケージ管理システム

どうしても知っているパッケージ管理ツールがベースなので、違っているところがあったら教えてください。