Frost のインストール
Frost は、macOS、Linux、Windows のいずれでも 1 つのコマンドでインストールできます。どのリリースにも専用のランタイムが含まれているので、事前に何かをインストールする必要はありません。
#対応システム
| システム | プロセッサ |
|---|---|
| macOS | Apple シリコン (arm64) と Intel (amd64) |
| Linux | amd64 と arm64 |
| Windows | amd64 と arm64 |
古い Raspberry Pi などの 32 ビット ARM 向けのパッケージはありません。Windows の WSL では Linux 版のパッケージがインストールされます。
#インストーラ
macOS や Linux では、ターミナルで次のコマンドを実行します。
curl -fsSL https://getfro.st/install.sh | sh
Windows では、PowerShell で次のコマンドを実行します。
irm https://getfro.st/install.ps1 | iex
インストーラは次のことを行います。
- お使いのシステム向けの最新リリースをダウンロードします。
- リリースの署名とダウンロードしたファイルのチェックサムを確認し、どちらかが合わなければ中止します。
- Frost をユーザープロファイルにインストールし、
PATH上のフォルダにfrostランチャーを置きます。
macOS と Linux では、検証に curl または wget、OpenSSH 8.1 以降の ssh-keygen、sha256sum または shasum が必要です。Windows では、Windows 10 と 11 に付属する Windows PowerShell 5.1、または PowerShell 7 が必要です。署名の確認には、リリースに含まれるランタイムを使います。そのランタイムが OpenJS Foundation によって署名されていることを、先に Windows が確認します。
macOS と Linux では、ランチャーは書き込み権限があれば /usr/local/bin に、なければ ~/.local/bin に置かれます。そのフォルダがまだ PATH に含まれていない場合は、追加するためのコマンドをインストーラが表示します。Windows では、ランチャーは %LocalAppData%\frost\bin に置かれ、インストーラがこのフォルダを PATH に追加します。インストール前から開いていたターミナルで frost を使うには、ターミナルを開き直す必要があります。
curl のインストーラは、Windows の Git Bash でも使えます。その場合は Git Bash が提供する cygpath が必要で、展開には unzip または PowerShell を使い、ランチャーは ~/bin に置かれます。
インストールが終わったら、frost init を実行して最初のバックアップを設定します。詳しくはFrost の設定を参照してください。
#インストーラのオプション
| 変数 | 動作 |
|---|---|
FROST_INSTALL_DIR | ランチャーをこのフォルダに置きます。この場合、Windows のインストーラは PATH を変更しません |
FROST_VERSION | 最新版ではなく、v0.1.0 のように指定したリリースをインストールします |
macOS や Linux での例:
curl -fsSL https://getfro.st/install.sh | FROST_INSTALL_DIR="$HOME/bin" sh
Windows では、同じ PowerShell ウィンドウで先に変数を設定します。
$env:FROST_VERSION = 'v0.1.0'; irm https://getfro.st/install.ps1 | iex
ランチャーのフォルダを変えても、Frost 本体の場所は変わりません。各ファイルの場所はファイルとフォルダにまとめています。
#npm や pnpm でインストールする
Node.js 22 以降をすでに使っているなら、npm で Frost をインストールできます。
npm install -g getfrost
pnpm の場合:
pnpm add -g getfrost
パッケージ名は getfrost で、使えるようになるコマンドは frost です。初めて frost を実行すると、お使いのシステム向けのリリースをダウンロードし、インストーラと同じように署名とチェックサムを確認してから、ユーザープロファイルにインストールします。そのあとで、入力したコマンドを実行します。以降の frost コマンドはすべて、インストール済みの Frost にそのまま渡されます。Frost は自分自身を最新の状態に保ちます。
pnpm の場合、まだ実行したことがなければ先に pnpm setup を実行して、pnpm のグローバルコマンドが PATH に入るようにしてください。
#手動でインストールする
- 最新リリースから、お使いのシステム向けのアーカイブをダウンロードします。名前は
frost_0.1.0_linux_amd64.tar.gzのような形で、Windows では.zipです。 - 中身を実行する前に、ダウンロードしたファイルを検証します。方法は下の「ダウンロードの検証」で説明しています。
- 新しい空のフォルダに展開します。
- 展開したフォルダの中で同梱のインストーラを実行し、ランチャーを置くフォルダを指定します。
macOS や Linux の場合:
./runtime/bin/node install.mjs "$PWD" "$HOME/.local/bin"
Windows の場合は PowerShell で:
.\runtime\bin\node.exe .\install.mjs "$PWD" "$env:LOCALAPPDATA\frost\bin"
ランチャーのフォルダがまだ PATH に含まれていなければ、追加してください。Windows では、frost.cmd はコマンド プロンプトと PowerShell で、frost は Git Bash で使えます。
展開したパッケージをインストールせずに使う場合は、その中の frost ランチャー (Windows では frost.cmd) を直接実行し、ファイルはすべて同じ場所にまとめておいてください。
#ダウンロードの検証
この作業はインストーラが自動で行います。アーカイブを自分で確認したい場合は、同じリリースから checksums.txt と checksums.txt.sig を一緒にダウンロードし、リポジトリから release-signing.pub をダウンロードします。archive にアーカイブのファイル名を設定してから、次を実行します。
(
set -e
archive='frost_X.Y.Z_linux_amd64.tar.gz'
printf 'frost-release %s\n' "$(cat release-signing.pub)" > allowed_signers
ssh-keygen -Y verify -f allowed_signers -I frost-release -n file -s checksums.txt.sig < checksums.txt
selected_checksum=$(awk -v archive="$archive" '$2 == archive { line = $0; count++ } END { if (count != 1) exit 1; print line }' checksums.txt)
printf '%s\n' "$selected_checksum" | shasum -a 256 -c -
)
署名が正しくない場合や、署名付きリストに対象のアーカイブがちょうど 1 件だけ載っていない場合、このコマンド群は停止します。1 つ目のチェックでは Good "file" signature と、2 つ目ではアーカイブ名の後ろに OK と表示されるはずです。どちらかがそうならない場合は、インストールしないでください。