direnv

DIRENV-FETCHURL 1 “2019” direnv 「利用者用マニュアル」

名称

direnv fetchurl - URLから取得して保存

処方

direnv fetchurl [<正統性のためのハッシュ>]

解説

このコマンドは与えられたURLからダウンロードして決まった場所に保存します。 場所は取得されたファイルの内容に基づきます。

これはcurlwgetへの依存を避けるために導入されましたが、インターネットからより安全にデータを取得する方法を促進するものでもあります。 curl <URL> | shの代わりにお使いください。

このコマンドには2つの操作モードがあります。

  1. 単にURLを渡し、正統性のためのハッシュを調べます。
  2. URL 正統性のためのハッシュを渡し、ディスク上の場所を返します。

ディスク上の場所はハッシュに基づくため、キャッシュとしてもはたらきます。 この設計では暗に、URLが安定で常に同じ内容を返すものとしています。

ダウンロードされたファイルは読取のみ実行可能となるため、静的バイナリを取得して実行することにも使えます。

オプション

<正統性のためのハッシュ> これを渡したとき、取得された内容の正統性が与えられたハッシュで検証されます。 ハッシュの符号化はSRIのW3C仕様に基づきます( https://www.w3.org/TR/SRI/ 参照)。

出力

direnv fetchurl は引数によって異なる内容を出力します。

正統性のためのハッシュ が渡されたとき、その取得に成功したら、ディスク上の場所のパスを出力します。

urlだけが渡されたら、ハッシュと人間が読みやすい説明が出力されます。 標準出力がttyでなければ、ハッシュだけが表示されます。

$ ./direnv fetchurl https://releases.nixos.org/nix/nix-2.3.7/install
Found hash: sha256-7Gxl5GzI9juc/U30Igh/pY+p6+gj5Waohfwql3jHIds=

Invoke fetchurl again with the hash as an argument to get the disk location:

  direnv fetchurl "https://releases.nixos.org/nix/nix-2.3.7/install" "sha256-7Gxl5GzI9juc/U30Igh/pY+p6+gj5Waohfwql3jHIds="
  #=> /home/zimbatm/.cache/direnv/cas/sha256-7Gxl5GzI9juc_U30Igh_pY+p6+gj5Waohfwql3jHIds=

環境変数

XDG_CACHE_HOME この変数は取得されたURLのディスク上の場所を$XDG_CACHE_HOME/direnv/casのように選択するために使います。 XDG_CACHE_HOME が未設定ないし空のときは、既定で$HOME/.cacheになります。

著作情報

MIT licence - Copyright (C) 2019 @zimbatm and contributors

こちらも参照

direnv-stdlib(1)

日本語訳について

この日本語訳の原文はdirenv-fetchurl(1) man pageです。

本文書の使用許諾は原文に従います。 翻訳の著作情報は以下の通りです。

MIT licence - Copyright (C) 2026 @gemmaro