pkgx をしばらく使ってみた感想


pkgx とは

pkgx をどう紹介するかちょっと迷いますが軽量なパッケージマネージャーと紹介しておきます。

いわゆるパッケージマネージャーとは違いパッケージをインストールするというステップは必須ではありません。

npx のようにコマンドの先頭に pkgx を付けて使う感じになります。

パッケージを直接インストールするわけではないので環境を汚さず気軽に試すことができます。

インストール

pkgx はシングルバイナリで動くのでインストールが簡潔です。

バイナリをダウンロードして bin ディレクトリに配置すれば OK です。

インストール用のスクリプトがあるのでそれを使うとよいでしょう。

curl https://pkgx.sh | sh

使い方

こんな感じで先頭に pkgx と付けることでコマンドが使えるようになります。

pkgx node

初回は自動で依存関係がダウンロードされて次回以降はキャッシュされたコマンドが使えるようになります。

更新も自動なので基本的に最新バージョンが使われます。

このように書くことでバージョンを指定して実行できます。

pkgx node@22

検索

Q オプションをつけると使用可能なパッケージ一覧が出力されるのでそれをパイプでよしなにして検索できます。 (自分は fzf で絞り込むことが多いです)

pkgx -Q | fzf

Q オプションにコマンド名を渡すと一致するコマンドがあるか分かります。

pkgx -Q git

pkgm

pkgm は pkgx の関連ツールのうちの一つでよりパッケージマネージャー的なツールです。

インストールスクリプトを使用した場合は pkgm も一緒にインストールされます。

インストールされますと言いましたが pkgm の実態は後述の pkgm shim で生成されるようなラッパースクリプトです。

pkgm shim

pkgm shim コマンドを使うとラッパースクリプトを生成して~/.local/bin などに配置してくれます。

pkgm shim gh

中身はこんな感じで pkgx 経由でコマンドを実行するシンプルなスクリプトです。

#!/usr/bin/env -S pkgx --shebang --quiet +cli.github.com -- gh

このラッパースクリプトを経由してコマンドを呼び出せるようになります。

gh

pkgm install

いわゆるパッケージマネージャー的にパッケージをインストールするコマンドです。

pkgm install git

個人的には最終手段的なコマンドです。

依存関係も一緒にインストールされ環境が壊れることが何度かあったので現状は使用を回避しています。

総括

pkgm install を使ってる時はメインで使うにはちょっと厳しいかなと思ってましたが pkgm shim を使うようにしてからはメインにしてもいいなと思いました。

新興のツールですし情報もあまりありませんが個人的にはとても気に入ったので使っていこうと思います。

関連リンク

https://github.com/pkgXdev/pkgx