Taskfileをubuntu (debian系)でインストール
Taskfileとは
Taskfileはタスクランナーツールの一つです。タスクランナーツールは、複数のコマンドや環境変数の差し替えをまとめるもので代表するソフトウェアにGNU Makeがあります。
Taskfileはタスクランナーツールの中でもyml
(yaml
)形式で記述することが特徴です。このおかげで多くのyml
対応しているライブラリの恩恵を受けながら記述できます。
Taskfileはaptに対応していない
Taskfileは多くのパッケージマネージャに対応しており、導入が簡単です。実際、次は対応しているパッケージマネージャの一覧です。
- Homebrew
- Snap
- npm
- pip
- WinGet
- Chocolatey
- Scoop
- Arch (pacman)
- Fedora (dnf)
- NixOS (nix)
- pacstall
- pkgx
ここで見るとわかる通り、Taskfileはapt
やapt-get
に対応していません。
代替策1:バイナリインストール
代替策の一つとしてTaskfileをバイナリインストールする方法があります。次のコマンドはTaskfileを.local/bin
にインストールします。(-b
でインストール先を変更可能)
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
セキュリティの観点からShellScriptを自分のマシンで実行すうことに不安を覚える方もいると思います。Taskfileのインストールスクリプトは次のソースコードなので事前に読むと良いでしょう。LLMでスキャンするのも一手です。
代替策2: ソースコードを手元でビルド
TaskfileはGo製のCLIなので、go
コマンド経由でインストール可能です。具体的には、サブコマンドのgo install
を利用してソースコードのダウンロード、ビルド、成果物のインストールができます。
次のコマンドは~/.local/bin
に最新版のtaskをダウンロードする方法です。
env GOBIN=~/.local/bin go install github.com/go-task/task/v3/cmd/task@latest
代替案3: 他のパッケージマネージャを利用する
おそらく、この記事を閲覧している方はpip
やnpm
のインストールに抵抗感を覚えると思うので本記事では扱いません。
そこで、本記事ではnix-env
を紹介します。nix-env
は、Nixというパッケージマネージャに含まれるコマンドラインツールのひとつです。
Nixは2025年現在、最もパッケージが多いパッケージマネージャです。大体のコマンドはあるので思い切って採用するのもありかと思います。
次が、nix-env
でTaskfileをインストールする方法です。パッケージ名称がgo-task
になっていることに注意してください。
nix-env -iA nixpkgs.go-task
補足1: 再現可能性
Nixは純粋関数型パッケージマネージャで特徴として再現可能性を挙げられることが多いです。
しかし、今回紹介したnix-env
には再現可能性はないので注意してください。
興味のある方は、nix profile
やnix flake
などで検索してみてください。
補足2: Nixのパッケージの多さについて
Nixのパッケージ数は2025年現在12万を越えていて、どのようなパッケージマネージャより多い。
Nixpkgs is the package repository built upon the Nix package manager. According to Repology, as of January 2025 it contains more than 122,000 packages[12] and has a higher number of up-to-date packages than any other package repository.[13]
参考文献
Discussion