ifazk
March 10, 2019, 12:43am
1
Is there a way to query why a package was installed?
I’m mostly trying to figure out if I explicitly installed a package or not. If I didn’t install a package explicitly, I’d like to know which explicit package installed caused a package to get installed.
Try: opam remove thepackage
This will print the packages that would be removed by removing thepackage
, and show why. E.g.:
$ opam remove react
The following actions will be performed:
⊘ remove reason 3.0.4 [uses utop]
⊘ remove utop 2.2.0 [uses react]
⊘ remove lambda-term 1.12.0 [uses react]
⊘ remove zed 1.6 [uses react]
⊘ remove lwt_react 1.1.0 [uses react]
⊘ remove react 1.2.1
===== ⊘ 6 =====
Do you want to continue? [Y/n] n
$
Idea from https://github.com/ocaml/opam/issues/573#issuecomment-24048917
1 Like
avsm
March 10, 2019, 2:55pm
3
yawaramin:
opam remove react
You can also do opam remove react --show-actions
to see what would happen without risking clicking ‘y’ by mistake
6 Likes
RogerT
March 10, 2019, 4:04pm
4
$ opam list --roots
will give you packages that you explicitly installed.
–roots, --installed-roots
List only packages that were explicitly installed, excluding the ones installed as dependencies
$ opam list --depends-on=myPackage
should give you packages that depend on myPackage
–depends-on=PACKAGES
List only packages that depend on one of (comma-separated) PACKAGES.
And
$ opam list --required-by=myPackage
should give you the dependencies of myPackage
–required-by=PACKAGES
List only the dependencies of (comma-separated) PACKAGES.
8 Likes