やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

パッケージ管理ツールまとめ

インストール作業肥大化問題を解決するため情報収集。パッケージ管理ツールを列挙し、その文脈についてまとめた。

まとめ

文脈 パッケージインストール最新コマンド
OS-Linux-Debian apt
OS-Linux-RedHat dnf
OS-Mac brew
OS-Windows PackageManagement
SDK-.NET(C#) nuget
SDK-node.js npm
SDK-Python pip

2017年5月現在。

方針

パッケージ管理ツールが多すぎてわけがわからないので整理する。文脈ごとに異なるツール名がある。これまで私が見知ったものだけに絞る。

文脈

OS

Linux

OSの系統 パッケージ形式 ツール
Debian deb形式 dpkg, apt-get, apt
RedHat rpm形式 rpm, yum, dnf

Debian

歴史

  1. dpkg
  2. apt-get
  3. apt

http://eng-entrance.com/linux-package-apt-2

いつもapt-getを使っていた。aptのほうが新しいらしい。

RedHat

歴史

  1. rpm
  2. yum
  3. dnf

http://eng-entrance.com/linux-package-apt-2

使ったことないが、ググっているとたまに見る。

Mac

  • homebrew

使ったことないが、ググっているとよく見る。

Windows

https://rcmdnk.com/blog/2016/03/11/computer-windows-chocolatey-packagemanagement/

一時期WindowsXPでChocolateyを使っていたが、OSバージョンや.NET Frameworkのバージョンが古くて使えなくなった。

OS非依存

同一ソフトウェアの複数バージョン共存できるらしい。共存のために別途ツールをいれることさえあるのだからかなり良さ気。でもあまり聞かない名前。

http://qiita.com/lufia/items/8c0a1ceca98e0c8f5f79

プログラミング言語

.NET(C#)

  • NuGet

node.js

  • npm

Python

http://www.yunabe.jp/docs/python_package_management.html

パッケージをインストールする

歴史

  1. easy_install
  2. pip

今はpip一択、だと思う。

パッケージを作成する

  1. distutils
  2. setuptools

今はsetuptools一択、だと思う。setuptoolsはソースコード等一式をPythonEggs形式に固めてパッケージとして配布するらしい。

パッケージ管理サーバ

所感

把握しきれない。結構エラーが出る。