最近、ソフトウェアでライブラリを導入するとき、 どんなパッケージ管理システムを使えばよいかわからなくなってきている。 そこで、拾い読みしてみた結果を記す。
Chocolatey は Windows で動くパッケージ管理システムである。私は Windows で動く Dart の処理系を Chocolatey でインストールした。
Homebrew は MacOS のパッケージ管理システムである。Homebrew は Linux 版もあり、昔は Homebrew とは独立に Linuxbrew として開発が続けられたが、現在は Linux でも同じ Homebrew である。 Linuxbrew 時代の覚書はリンク先を参照。
npm は Node.js のパッケージ管理システムである。 Node Package Manager の意味であるとされている。npmを参照。
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 は Node.js のバージョン管理マネージャである。
Stack は Haskell のパッケージ管理システムである。
rbenv は Ruby のパッケージ管理システムである。Bundler と組み合わせることが多い。
pip は Python のパッケージ管理システムである。
Conda は Python や R 言語のパッケージ管理システムであり、pip と対比される。conda による配布物が Anaconda である。
Roswell は、Common Lisp のパッケージ管理システムである。 私は Steel Bank Common Lisp をこの Roswell から使っている。
Cargo はプログラミング言語 Rust のビルドツール兼パッケージマネージャ―である。
cargo subcommand の形で使う。subcommand は拡張することもできる。これは通常、 cargo install cargo-subcommand のようにしてインストールする。cargo-generate をインストールしてみた。 Windows 11 の PowerShell からである。
C:> install cargo-generate
まりんきょ学問所 > コンピュータの部屋 > パッケージ管理システム