パッケージ管理システム

作成日 : 2019-08-21
最終更新日 :

私にはパッケージ管理システムがわからない

最近、ソフトウェアでライブラリを導入するとき、 どんなパッケージ管理システムを使えばよいかわからなくなってきている。 そこで、拾い読みしてみた結果を記す。

OS 系

Chocolatey

Chocolatey は Windows で動くパッケージ管理システムである。私は Windows で動く Dart の処理系を Chocolatey でインストールした。

Homebrew

Homebrew は MacOS のパッケージ管理システムである。Homebrew は Linux 版もあり、昔は Homebrew とは独立に Linuxbrew として開発が続けられたが、現在は Linux でも同じ Homebrew である。 Linuxbrew 時代の覚書はリンク先を参照。

言語系

npm

npm は Node.js のパッケージ管理システムである。 Node Package Manager の意味であるとされている。npmを参照。

yarn

yarn も Node.js のパッケージ管理システムである。 npm より yarn のほうが速いといわれているが、私にはわからない。

最初に $ apt get install yarn で yarn をインストールしたのだが、エラーが出た。

$ yarn
ERROR: There are no scenarios; must have at least one.

次のようにするとエラーが回避できる。

# 古い yarn の削除
$ sudo apt autoremove cmdtest
$ sudo apt autoremove yarn
# 最新の yarn を取得できるようにキーを取得する
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
# 最新の yarn を取得する
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# 更新
$ sudo apt update
(結果略)
# 再インストール 
$ sudo apt install yarn
(結果略)
$ yarn -v
1.22.5
$ yarn
yarn install v1.22.5
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not
to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this
warning, remove package-lock.json.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 39.56s.
$ node -v
v10.19.0

nvm

nvm は Node.js のバージョン管理マネージャである。

Stack

Stack は Haskell のパッケージ管理システムである。

rbenv

rbenv は Ruby のパッケージ管理システムである。Bundler と組み合わせることが多い。

pip

pip は Python のパッケージ管理システムである。

Conda

Conda は Python や R 言語のパッケージ管理システムであり、pip と対比される。conda による配布物が Anaconda である。

Roswell

Roswell は、Common Lisp のパッケージ管理システムである。 私は Steel Bank Common Lisp をこの Roswell から使っている。

Cargo

Cargo はプログラミング言語 Rust のビルドツール兼パッケージマネージャ―である。

cargo subcommand の形で使う。subcommand は拡張することもできる。これは通常、 cargo install cargo-subcommand のようにしてインストールする。cargo-generate をインストールしてみた。 Windows 11 の PowerShell からである。

C:> install cargo-generate

まりんきょ学問所コンピュータの部屋 > パッケージ管理システム


MARUYAMA Satosi