direnv fetchurl - URLから取得して保存
direnv fetchurl [<正統性のためのハッシュ>]
このコマンドは与えられたURLからダウンロードして決まった場所に保存します。 場所は取得されたファイルの内容に基づきます。
これはcurlやwgetへの依存を避けるために導入されましたが、インターネットからより安全にデータを取得する方法を促進するものでもあります。 curl <URL> | shの代わりにお使いください。
このコマンドには2つの操作モードがあります。
ディスク上の場所はハッシュに基づくため、キャッシュとしてもはたらきます。 この設計では暗に、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