File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33How to control versions
44=======================
55
6+ There are various ways and places to limit what versions the solver can pick for
7+ dependencies.
8+
9+ Version ranges
10+ Within a package description, version ranges for dependencies can be; tight
11+ or loose or missing altogether.
12+
13+ Version constraints
14+ Within a project, version constraints for dependencies limit the versions
15+ that the solver can pick.
16+
17+ Curated sets
18+ A project can import curated sets of packages and versions that are known to
19+ work together, such as those Stackage provides for Cabal's use.
20+
21+ Pinning Hackage versions
22+ Adding ``index-state `` to a project limits versions coming from Hackage to
23+ include only those that were available at the cutoff time.
24+
625Freezing
7- Pins the versions picked by the solver for all dependencies.
26+ Pins the versions picked by the solver for all dependencies. This is a way
27+ to preserve a set of versions found by the solver, a solver-curated set, if
28+ you will.
29+
30+ Freezing versions
31+ -----------------
832
933Pinning adds a version equality constraint for each package in the set of
1034project dependencies, explicit and transitive. The ``cabal freeze `` command
@@ -53,8 +77,8 @@ different architecture or a different compiler version and boot libraries.
5377 that relates to the project environment, like ``cabal.project `` or
5478 ``cabal.project.local ``.
5579
56- Common workflows
57- ^^^^^^^^^^^^^^^^
80+ Freezing workflows
81+ ^^^^^^^^^^^^^^^^^^
5882
5983.. Warning ::
6084 For each of these workflows, you may have to first delete the
You can’t perform that action at this time.
0 commit comments