# How to tell which package is holding back which package

**URL:** <https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827>\
**Category:** Internals & Design\
**Tags:** question, proposal\
**Created:** [June 1, 2019, 5:11am UTC](https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827 "2019-06-01T05:11:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![yakir12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yakir12/32/297_2.png) [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Post date:** [June 1, 2019, 5:11am UTC](https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827/1 "2019-06-01T05:11:54Z")

</div>

I’m having unsatisfiable requirements problems. It would be great to see which package is holding back which package.

Regardless of the unsatisfiable requirements, it would be cool to know which packages are holding back things in a specific environment.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 1, 2019, 8:10am UTC](https://discourse.julialang.org/t/how-to-tell-which-package-is-holding-back-which-package/24827/2 "2019-06-01T08:10:03Z")

</div>

I implemented something like that a while back that worked for Julia v0.6. It would have to be updated to work now, but here it is for inspiration

> [@How to find package preventing others from updating](https://discourse.julialang.org/t/how-to-find-package-preventing-others-from-updating/8235):
>
> While trying to upgrade a package I found that some other package held it back with an upper version bound. To track down the offending package, I found the following function useful function find\_holdback(held\_back\_package, recursive = 0, installed = collect(keys(Pkg.installed())), inset=0) @assert held\_back\_package ∈ installed "The package you are querying is not installed" for package in installed REQUIRE = Pkg.dir(package, "REQUIRE") isfile(REQUIRE) || continue …
