-
Notifications
You must be signed in to change notification settings - Fork 38
[bug] pixi.toml dependency resolution fails on non-macOS platforms due to shared solve-group #64
Description
Description :
When attempting to run pixi install or any pixi run command (like pixi run setup or pixi run cargo check) on a non-macOS platform (such as Windows or Linux), the environment resolution fails with an error indicating it cannot solve osx-arm64 requirements for the default environment.
This happens because in pixi.toml, both the default environment and the macos-mlx environment are assigned to the exact same solve-group = "default".
The macos-mlx environment correctly specifies platforms = ["osx-arm64"] and includes mlx-audio which is a macOS/Apple Silicon specific package. However, because it shares a solve group with the default environment (which is meant to be cross-platform: ["osx-arm64", "osx-64", "linux-64", "win-64"]), Pixi attempts to unify their dependencies into a single lockfile resolution. It ultimately fails to solve this unified group on non-Apple Silicon systems because the macOS-only dependencies cannot be resolved on Windows/Linux.
Error Message:
× failed to solve the pypi requirements of environment 'default' for platform 'osx-arm64'
├─▶ failed to resolve pypi dependencies
Steps to Reproduce:
- Ensure pixi is installed.
- Open a terminal in the mofa-studio directory.
- Run pixi run cargo check or pixi install.
- Observe the platform resolution failure.
Expected Behavior:
The default environment should resolve and install cross-platform dependencies correctly on Windows and Linux without trying to resolve macOS-specific packages.
Suggested Fix:
In pixi.toml, remove the shared solve-group = "default" property from both the [environments] definitions: toml
[environments]
# Default environment (CPU-only, cross-platform)
default = { }
# macOS with MLX acceleration (Apple Silicon)
macos-mlx = { features = ["macos-mlx"] }
This change will allow Pixi to resolve the lockfile independently for the default cross-platform environment, allowing successful setup on Windows and Linux.