LoginSignup
58
42

More than 5 years have passed since last update.

バージョン管理ツール、パッケージ管理ツールの種類をまとめました

Posted at

最初に

最近言語の勉強している中で、バージョン管理ツールやパッケージ管理ツールが色々あって、何がなんだか分からなくなってしまったのでまとめました。

言語のバージョン管理ツールとは
言語の各バージョンのインストール・アンインストールや切り替えを簡単に行ってくれるツールです。
同じく「バージョン管理ツール」と呼ばれるGitやSVNとは別物です。この記事ではわかりやすくするために「言語のバージョン管理ツール」と表現しました。

言語のパッケージ管理ツールとは
言語の各パッケージのインストール・アンインストールを行うツールです。インストール・アップグレート時には依存関係にあるパッケージを自動でインストール・アップグレートしてくれます。
この記事ではOSのパッケージ管理ツールと分けるために「言語のバージョン管理ツール」と表現しました。

OSのパッケージ管理ツールとは
機能としては言語のパッケージ管理ツールと同じですが、こちらはOSのパッケージを管理するツールです。


※実際に動作までは確認していないので、すべてのツールが上で説明しているような機能を提供しているわけではないかもしれません。参考として見てみてください。

言語のバージョン管理ツール

ndenv (Node.js)
nodenv (Node.js)
rbenv (Ruby)
phpenv (PHP)
pyenv (Python)
plenv (Perl)
jenv (Java)
scalaenv (Scala)
swiftenv (Swift)
goenv (Go言語)

nodebrew (Node.js)
rbrew (Ruby)
phpbrew (PHP)

nvm (Node.js)
nodist (Node.js)

補足
○○env系は他にも様々な言語用のツールが存在しているようです。また、 anyenv というツールで一括管理することができます。

言語のパッケージ管理ツール

npm (Node.js)
yarn (Node.js)
gem (Ruby)
Composer (PHP)
pip (Python)
CPAN (Perl)
sbaz (Scala)
glide (Go言語)

補足
Scalaの場合は sbt というビルドツールを使えばパッケージ管理もやってくれるみたいなのでこっちの方が便利そうでした。

OSのパッケージ管理ツール

PackageManagemet (Windows)
Chocolatey (Windows)
MacPort (Mac)
Homebrew (Mac)
rpm (Linux RedHot系)
yum (Linux RedHot系)
deb (Linux Debian系)
apt-get (Linux Debian系)
Linuxbrew (Linux)

補足
LinuxbrewはLinux版のHomebrewということらしいです。

最後に

npmとnvmやNodebrewとHomebrewなど名前が似ていて紛らわしいなと思います。同じように感じている方の参考になれば幸いです。

58
42
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
58
42