LoginSignup
7
11

More than 1 year has passed since last update.

パッケージ管理ソフトの種類とか

Last updated at Posted at 2018-03-29

はじめに

どの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にも色々マイナーチェンジがある。

apt-get

古いやつ。古いOSならこっちしかないかも。
RedHat系で言うとYumの立ち位置。

apt

新しいやつ。apt-getの完全上位互換なので普通はこっち使ってね。
RedHat系で言うとDNFの立ち位置。

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
7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11