Manifest.toml is Julia’s environment file for recording the resolved package set behind an environment. Project.toml names the environment’s direct dependencies; Manifest.toml records the dependency information needed to load those packages and their transitive dependencies consistently. section 16.2.1 section 16.6
A manifest can contain:
- Package UUIDs, which identify packages even when names collide. section 16.2.1
- Dependency lists showing relationships such as Dates depending on Printf and Printf depending on Unicode. section 16.2.1
- Versions and git-tree-sha1 values for packages that are not part of Julia’s standard library. section 16.2.1
Adding dependencies creates the manifest
After activating the ToyGeometry environment, `add Dates Base64` updates Project.toml and creates or updates Manifest.toml. The manifest then includes Base64 and Dates, followed by their dependencies Printf and Unicode. A generated manifest also records `julia_version = "1.7.2"` and `manifest_format = "2.0"`. section 16.2.1
shell> cat ToyGeometry/Manifest.toml julia_version = "1.7.2" manifest_format = "2.0" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
Inspect a complete ToyGeometry Manifest.toml listing Julia metadata, package UUIDs, and transitive dependency entries. section 16.2.1
[[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.12.8"
Inspect a package entry with dependencies, UUID, version, and git-tree-sha1 metadata. section 16.2.1
