インストール作業肥大化問題を解決するため情報収集。パッケージ管理ツールを列挙し、その文脈についてまとめた。
まとめ
文脈 | パッケージインストール最新コマンド |
---|---|
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系
歴史
- dpkg
- apt-get
- apt
http://eng-entrance.com/linux-package-apt-2
いつもapt-get
を使っていた。apt
のほうが新しいらしい。
RedHat系
歴史
http://eng-entrance.com/linux-package-apt-2
使ったことないが、ググっているとたまに見る。
Mac
- homebrew
使ったことないが、ググっているとよく見る。
Windows
- PowerShell
- PackageManagement
- Chocolatey
- PackageManagement
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
パッケージをインストールする
歴史
- easy_install
- pip
今はpip一択、だと思う。
パッケージを作成する
- distutils
- setuptools
今はsetuptools一択、だと思う。setuptoolsはソースコード等一式をPythonEggs形式
に固めてパッケージとして配布するらしい。
パッケージ管理サーバ
所感
把握しきれない。結構エラーが出る。