はじめに

どのOSに、どんなパッケージ管理ソフトがあるのか、知りたい。
でもマイナーなのも含めるとまとめきれないので、聞く頻度が高いやつだけ並べる。

RedHat系Linux

(CentOSとかもここだね)

  • rpm
  • Yum
  • DNF

rpm

RedHat系Linux用のパッケージを管理する最初期のやつ。
依存関係を自動で解決しない。

Yum

rpmに依存関係を自動で解決する機能を付与したみたいなの。
ていうかパッケージDL等の機能はrpmを使用してる。
rpmをラップして使いやすくしたのがこれ。
Python 2でしか動かないのと、改修めんどくさいからDNFが生まれたらしい。
2015年あたりで標準じゃなくなった。
けどたぶん2018年中は現役っしょ(古いCentOS使いつつ)。

DNF

2015年あたりで標準になった子。
Python 2,3両方で動く子。
文法はYumから引き継いでいるから、YumをDNFに替えるだけでいい。

Debian系Linux

(Ubuntuとかもここだね)

  • dpkg
  • APT

dpkg

ローカルにあるパッケージを管理するだけ。
パッケージのDL等の機能は無い。
でもマイナーチェンジがあり、APTとの差別化は図られている。

APT

パッケージのDLや、依存関係の解消等までこなす。
普通に使うならdpkgの上位互換。
APTにも色々マイナーチェンジがある。

Arch Linux

  • pacman
  • yaourt

pacman

公式のパッケージを管理する。
地味にWindowsのUnixライクなシェル環境「MSYS2」で使うパッケージ管理もこれ。

yaourt

非公式なパッケージを管理する。

Windows

  • Nuget
  • chocolatey

Nuget

VisualStudio(以下VSと略す)のパッケージ管理ソフトとして有名。VS2012から標準で居る。
でもNugetのバージョン上限がVSのバージョンに依存するという仕様により、VS2012のNugetじゃDL出来ないパッケージが地味にある。
そういう場合はVSとは関係なくNuget単体をDLしてインストールして、コマンドプロンプトで欲しいパッケージをDLして、VS側のパッケージ参照を手動で入れる必要がある。
常に最新のVSを使う場合なら問題ないけど、大人の事情でVS2012で止まってるとかの場合、わりかし苦労する。

  • GUI = VS版Nuget
  • CUI = Nuget

chocolatey

この子が扱うパッケージの形式自体はNugetのパッケージだが、Windowsでの開発環境構築に関する実行ファイルを含んだNugetパッケージを対象にしている。
クロームとか、ファイヤーフォックスとか、スカイプとか、Gitとか、nodejsとか、VisualStudioCodeとか、VisualStudioとか、とにかく見慣れたモノから、見慣れないモノまで色々。
Windowsでの開発環境をぽんぽこ構築&破壊する際、いちいち公式サイト行くのめんどいとか、
アップデート確認が超絶めんどいとか、毎回Yesとか押すのめんどいとかいう時に有効。

PHP

  • Composer

Composer

PHP開発でパッケージを利用する場合、依存関係とか諸々解決してくれる。
さらにオートローダーも吐いてくれる優れもの。

  • GUI = Composercat
  • CUI = Composer
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.