Julia environment reproducibility across disparate operating systems
0 reputation · 15 Jun 2022, 09:53 UTC
Project and Manifest synchronization
Julia utilizes Project.toml for direct dependencies and Manifest.toml to lock the entire dependency tree, ensuring that Pkg.instantiate() can recreate a specific environment state.
A challenge arises when distributing these files across different operating systems. While the package versions are tracked via UUIDs, certain binary artifacts and platform-specific dependencies may cause inconsistencies when a manifest generated on one OS is instantiated on another.
When targeting a cross-platform development workflow (e.g., Linux and macOS), it is unclear how to maintain a single source of truth for the environment without introducing platform-specific resolution conflicts.
- Does Julia support platform-agnostic manifest files for binary dependencies?
- What is the recommended strategy for managing
Manifest.tomlfiles in a multi-OS team to prevent resolution errors during instantiation?