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

インストーラは次のことを行います。

  1. お使いのシステム向けの最新リリースをダウンロードします。
  2. リリースの署名とダウンロードしたファイルのチェックサムを確認し、どちらかが合わなければ中止します。
  3. 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 に入るようにしてください。

#手動でインストールする

  1. 最新リリースから、お使いのシステム向けのアーカイブをダウンロードします。名前は frost_0.1.0_linux_amd64.tar.gz のような形で、Windows では .zip です。
  2. 中身を実行する前に、ダウンロードしたファイルを検証します。方法は下の「ダウンロードの検証」で説明しています。
  3. 新しい空のフォルダに展開します。
  4. 展開したフォルダの中で同梱のインストーラを実行し、ランチャーを置くフォルダを指定します。

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 と表示されるはずです。どちらかがそうならない場合は、インストールしないでください。