crofty 0.18.0 — 入れ方はふたつ

crofty はこれまで6通りの入り口を持っていました。どれも仕事は同じ ── バイナリを1つ PATH に置くこと。そして多くは、もうひとつの理由のためにありました。Hugo を依存として 一緒に入れることです。クリックインストーラが Hugo を同梱するようになり、その理由は なくなりました。0.18.0 で残りを畳みます。

変更前

brew install ShiroDoromoto/crofty/crofty
scoop install crofty
sudo apt install crofty      # trusted=yes を書かせるリポジトリから
sudo dnf install crofty      # …そして gpgcheck=0
curl -fsSL https://crofty.site/install.sh | sh

変更後

crofty.pkg / crofty-setup.exe    # ダブルクリック。Hugo は中に入っています
curl -fsSL https://crofty.site/install.sh | sh

または、リリースページからアーカイブを落として、バイナリを好きな場所に置きます。この道に 必要なのはブラウザだけです。これは聞こえる以上に効きます ── Windows では OS の TLS が ワンライナーそのものを拒むことがあるからです。

古い経路で入れていた場合

壊れはしませんが、更新もされません。brew upgradescoop update も黙って何も 見つけません。.deb.rpm には、そもそも背後にリポジトリがありませんでした。 crofty が出す更新の通知は、何も起きないアップグレードではなく、出口を案内するように なりました。一度出て、インストーラかスクリプトで戻ってきてください。書いたものには 何も起きません。

インストールスクリプトが失敗したとき

以前は黙って死んでいました。curltar へパイプしていたため ── そして POSIX の shpipefail は無いため ── 404 やプロキシ切れが、意味の取れない tar のエラーとして 表に出ていました。いまはこうなります。

$ curl -fsSL https://crofty.site/install.sh | sh
crofty: download failed (curl exit 56): …/crofty_9.9.9_darwin_arm64.tar.gz
  the asset may not exist yet, or dns / tls / a proxy is blocking github.
  check with: curl -fsSIL …/crofty_9.9.9_darwin_arm64.tar.gz
  or install it by hand:
    1. download …/crofty_9.9.9_darwin_arm64.tar.gz
    2. tar -xzf crofty_9.9.9_darwin_arm64.tar.gz
    3. mkdir -p ~/.local/bin && install -m 0755 crofty ~/.local/bin/crofty
    4. add ~/.local/bin to your PATH
$ echo $?
3

終了コードは変わらないと決めたので、人もエージェントもこれで分岐できます。2 は非対応の プラットフォーム、3 はダウンロード失敗、4 は置き場所に書き込めない。書き込めない ときは逃げ道を両方出します ── 別の場所を指定するか、権限を上げるか。スクリプトが勝手に 権限を上げることはありません。

このリリースのそのほか

入れ方

crofty.pkg または crofty-setup.exe を落として、ダブルクリックします。OS は一度だけ警告します ── インストーラは未署名です。 始める に手順があります。

ターミナルから:

curl -fsSL https://crofty.site/install.sh | sh                                          # macOS / Linux
irm https://github.com/ShiroDoromoto/crofty/releases/latest/download/install.ps1 | iex  # Windows