1

彼らはそれをnixのドキュメントに書いています:

ただし、Nix はソースからのビルドを自動的にスキップし、代わりにビルド済みのバイナリを提供する Web サーバーであるバイナリ キャッシュを使用できます。たとえば、ソースから /nix/store/b6gvzjyb2pg0…-firefox-33.1 をビルドするように要求された場合、Nix は最初にファイルhttps://cache.nixos.org/b6gvzjyb2pg0 ….narinfo が存在するかどうかを確認し、存在する場合は、そこから参照されるビルド済みのバイナリ。それ以外の場合は、ソースからのビルドにフォールバックします。

nix は自分のマシンに必要なバイナリの種類をどうやって知るのだろうか? アーム、インテル、AMD で nix を実行したかどうか、または名前を付けてください。このキャッシュからのバイナリは、適切なアーキテクチャに対してどのように選択されますか?

4

1 に答える 1

5

nix は純粋に機能的なパッケージ マネージャーです。stdEnvそのため、アーキテクチャに関する情報を含む、いわゆる を含む、パッケージが必要とするすべてのものを関数の入力として受け取ります。

これらの入力を使用して、nix はハッシュを生成します。これは、パッケージ名の前に表示されるものです。

したがって、必要なアーキテクチャはそのハッシュでエンコードされます。これが、バイナリ キャッシュからダウンロードするときにハッシュのみをチェックする必要がある理由です。

于 2015-06-19T18:42:07.247 に答える