コンテンツにスキップ

CLI を入れる

hakocms-cli は 1 つの実行ファイルです。ダウンロードして展開し、PATH の通ったフォルダに置けば使えます。

OS CPU ファイル
Linux(どのディストリビューションでも) x86_64 hakocms-cli-v<版>-x86_64-unknown-linux-musl.tar.gz
Linux aarch64(arm64) hakocms-cli-v<版>-aarch64-unknown-linux-musl.tar.gz
macOS Apple シリコン(M1 以降) hakocms-cli-v<版>-aarch64-apple-darwin.tar.gz
macOS Intel hakocms-cli-v<版>-x86_64-apple-darwin.tar.gz
Windows 10 以降 x86_64 hakocms-cli-v<版>-x86_64-pc-windows-gnu.zip

ファイルは https://download.hakocms.net/hakocms-cli/v<版>/ にあります。いちばん新しい版の番号と、ファイルごとの URL と SHA-256 は、次のファイルに書いてあります。

https://download.hakocms.net/hakocms-cli/latest.json

ブラウザでダウンロードするときは、製品のサイトの CLI のダウンロード に、いちばん新しい版のファイルと SHA-256 が並んでいます。

端末で次のコマンドを実行します。

ターミナルウィンドウ
curl -fsSL https://www.hakocms.net/install.sh | sh

次のように表示されれば、入っています。<版> と <ターゲット> には、入れた版の番号(0.1.8 など)と、OS と CPU の名前(aarch64-apple-darwin など)が入ります。

hakocms-cli v<版>(<ターゲット>)をダウンロードしています
<ホーム>/.local/bin/hakocms-cli に置きました

<ホーム> には、自分のホームのフォルダ(/home/hako や /Users/hako など)が入ります。

このコマンドは、いちばん新しい版をダウンロードし、SHA256SUMS でファイルが壊れていないかを確かめてから、~/.local/bin/hakocms-cli に置きます。管理者の権限(sudo)は要りません。~/.local/bin が PATH に入っていないときは、シェルの設定ファイルに足す 1 行が表示されます。その行を ~/.zshrc や ~/.bashrc に足して、新しい端末を開きます。

実行する前に中身を読むときは、install.sh を開きます。

置く場所や版を変えるときは、sh の前に環境変数を書きます。

環境変数 意味 指定しないとき
HAKOCMS_CLI_INSTALL_DIR 置く場所 ~/.local/bin
HAKOCMS_CLI_VERSION 入れる版(0.1.8 など) いちばん新しい版

たとえば、/usr/local/bin に置くときは次のようにします。

ターミナルウィンドウ
curl -fsSL https://www.hakocms.net/install.sh |
sudo HAKOCMS_CLI_INSTALL_DIR=/usr/local/bin sh

コマンドを 1 つずつ実行して入れることもできます。次の手順で、いちばん新しい版をダウンロードし、ファイルが壊れていないかを確かめてから、/usr/local/bin に置きます。

  1. 自分の OS と CPU のターゲットを決めます。

    ターミナルウィンドウ
    # Linux(x86_64)
    TARGET=x86_64-unknown-linux-musl
    # Linux(arm64)は aarch64-unknown-linux-musl
    # macOS(Apple シリコン)は aarch64-apple-darwin
    # macOS(Intel)は x86_64-apple-darwin

    どれか分からないときは、uname -sm を実行します。Linux x86_64、Linux aarch64、Darwin arm64(Apple シリコン)、Darwin x86_64(Intel)のどれかが表示されます。

  2. いちばん新しい版の番号を調べます。

    ターミナルウィンドウ
    VERSION=$(curl -fsSL https://download.hakocms.net/hakocms-cli/latest.json |
    sed -n 's/.*"version": *"\([^"]*\)".*/\1/p')
    echo "$VERSION"

    0.1.8 のような版の番号が表示されます。

  3. ファイルと、確かめのための SHA256SUMS をダウンロードします。

    ターミナルウィンドウ
    BASE=https://download.hakocms.net/hakocms-cli/v$VERSION
    NAME=hakocms-cli-v$VERSION-$TARGET
    curl -fsSLO "$BASE/$NAME.tar.gz"
    curl -fsSLO "$BASE/SHA256SUMS"
  4. ファイルが壊れていないかを確かめます。

    ターミナルウィンドウ
    # Linux
    grep " $NAME.tar.gz\$" SHA256SUMS | sha256sum -c -
    # macOS
    grep " $NAME.tar.gz\$" SHA256SUMS | shasum -a 256 -c -

    hakocms-cli-v<版>-<ターゲット>.tar.gz: OK と表示されれば、壊れていません。FAILED と表示されたら、ダウンロードし直します。

  5. 展開して、/usr/local/bin に置きます。

    ターミナルウィンドウ
    tar xzf "$NAME.tar.gz"
    sudo install "$NAME/hakocms-cli" /usr/local/bin/

    管理者の権限がないときは、自分のフォルダに置きます(mkdir -p ~/.local/bin && install "$NAME/hakocms-cli" ~/.local/bin/)。~/.local/bin が PATH に入っていなければ、シェルの設定ファイルに export PATH="$HOME/.local/bin:$PATH" を足します。

展開したフォルダには hakocms-cli のほかに、利用許諾(LICENSE)、含まれているほかのソフトウェアのライセンス(THIRD_PARTY_LICENSES)、README.txt があります。

hakocms-cli には Apple の署名がありません。ブラウザでダウンロードしたファイルを Finder で開いて展開すると、展開したファイルに macOS が実行を止める印を付けます。その hakocms-cli を実行すると、macOS が警告を出して止めます。そのときは、次のコマンドで印を外します。

ターミナルウィンドウ
xattr -d com.apple.quarantine /usr/local/bin/hakocms-cli

1 行のコマンドで入れたときと、上の手順のように curl でダウンロードしたとき、端末の tar で展開したときは、印が付かないので、このコマンドは要りません。

PowerShell で、次のようにします。

  1. いちばん新しい版をダウンロードします。

    ターミナルウィンドウ
    $latest = Invoke-RestMethod https://download.hakocms.net/hakocms-cli/latest.json
    $asset = $latest.assets.'x86_64-pc-windows-gnu'
    Invoke-WebRequest $asset.url -OutFile $asset.name
  2. ファイルが壊れていないかを確かめます。

    ターミナルウィンドウ
    (Get-FileHash $asset.name -Algorithm SHA256).Hash.ToLower() -eq $asset.sha256

    True と表示されれば、壊れていません。

  3. 展開して、PATH の通ったフォルダに置きます。

    ターミナルウィンドウ
    Expand-Archive $asset.name -DestinationPath .
    $dir = "$env:LOCALAPPDATA\Programs\hakocms-cli"
    New-Item -ItemType Directory -Force $dir | Out-Null
    Copy-Item "$($asset.name -replace '\.zip$','')\hakocms-cli.exe" $dir
  4. そのフォルダを、自分の PATH に足します(初めて入れたときだけ)。

    ターミナルウィンドウ
    $path = [Environment]::GetEnvironmentVariable("Path", "User")
    [Environment]::SetEnvironmentVariable("Path", "$path;$dir", "User")

    足した PATH は新しく開いた PowerShell から使えます。

新しい端末を開き、次のコマンドを実行します。

ターミナルウィンドウ
hakocms-cli version

次のように、版の番号が表示されれば入っています。<版> には、入れた版の番号(0.1.8 など)が入ります。

hakocms-cli <版> (Admin API 1)

command not found と表示されたら、置いたフォルダが PATH に入っていません。

次はログインです(CLI でログインする)。

(省略可)コマンドとフラグを Tab キーで補えるようにします。使っているシェルのものを 1 つ実行し、新しい端末を開きます。

ターミナルウィンドウ
# zsh
hakocms-cli completion zsh > "${fpath[1]}/_hakocms-cli"
# bash
mkdir -p ~/.local/share/bash-completion/completions
hakocms-cli completion bash > ~/.local/share/bash-completion/completions/hakocms-cli
# fish
hakocms-cli completion fish > ~/.config/fish/completions/hakocms-cli.fish

PowerShell では、hakocms-cli completion powershell | Out-String | Invoke-Expression をプロファイル($PROFILE)に足します。

新しい版にするときは、入れたときと同じ手順をもう一度行います。1 行のコマンドで入れたときは、同じコマンドをもう一度実行します。手で入れたときの手順のコマンドも latest.json からいちばん新しい版を調べるので、書き換えずにそのまま使えます。同じ場所に置けば、古いものが置き換わります。ログインした情報と設定は、そのまま使えます。

今の版は hakocms-cli version で、いちばん新しい版は Linux と macOS の「手で入れる」の手順 2(Windows は手順 1 のあとの $latest.version)で分かります。

  1. ログインしているなら、先にログアウトします。アクセストークンが取り消されます。

    ターミナルウィンドウ
    hakocms-cli auth logout
  2. 実行ファイルを消します。1 行のコマンドで入れたときは rm ~/.local/bin/hakocms-cli、手で入れたときは sudo rm /usr/local/bin/hakocms-cli です。Windows は %LOCALAPPDATA%\Programs\hakocms-cli のフォルダを消します。

  3. 設定のフォルダを消します(~/.config/hakocms-cli。Windows は %APPDATA%\hakocms-cli)。