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 upgrade も scoop update も黙って何も
見つけません。.deb と .rpm には、そもそも背後にリポジトリがありませんでした。
crofty が出す更新の通知は、何も起きないアップグレードではなく、出口を案内するように
なりました。一度出て、インストーラかスクリプトで戻ってきてください。書いたものには
何も起きません。
インストールスクリプトが失敗したとき
以前は黙って死んでいました。curl を tar へパイプしていたため ── そして POSIX の sh
に pipefail は無いため ── 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 previewがhugoを置き去りにしなくなりました。 ラッパーを kill すると サーバーだけが残り、statusは「何も動いていない」と答えていました。いまは両方を 追跡します。取り残された hugo は"abandoned": trueとして報告され、次のプレビューで 回収されます。--timeoutの期限はpreview.jsonに書かれるので、その期限を切った プロセスが死んでも残ります。crofty configが、crofty の状態の置き場所と、そこへ書き込めるかを答えます ── パーミッションのビットからの推測ではなく、実際に試した結果です。エージェントはinitを実行して確かめるのではなく、動く前に訊けます。
入れ方
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