# How to discover packages that are holding other packages from updating?

**URL:** <https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311>\
**Category:** General Usage\
**Tags:** question, package, package-manager\
**Created:** [November 25, 2017, 9:00pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311 "2017-11-25T21:00:24Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [November 25, 2017, 9:00pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/1 "2017-11-25T21:00:25Z")

</div>

DataFrames v0.11.0 was released, but some package is holding me from updating it. Is there a canonical procedure documented somewhere for discovering these packages that are preventing updates?

---

<div class="post-metadata">

**Author:** ![Ralph\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ralph_smith/32/10344_2.png) [@Ralph\_Smith](https://discourse.julialang.org/u/Ralph_Smith)\
**Post date:** [November 25, 2017, 9:12pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/2 "2017-11-25T21:12:23Z")

</div>

For this particular case, try [the official list](https://github.com/JuliaData/DataFrames.jl/issues/1232). Note that requirements stored in METADATA override those in the individual package REQUIRE files.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [November 25, 2017, 9:21pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/3 "2017-11-25T21:21:52Z")

</div>

> [@Ralph\_Smith](#):
>
> Note that requirements stored in METADATA override those in the individual package REQUIRE files.

This means that local REQUIRE files aren’t helpful in identifying the packages?

Thanks for the list.

---

<div class="post-metadata">

**Author:** ![Ralph\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ralph_smith/32/10344_2.png) [@Ralph\_Smith](https://discourse.julialang.org/u/Ralph_Smith)\
**Post date:** [November 25, 2017, 9:30pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/4 "2017-11-25T21:30:17Z")

</div>

> [@juliohm](#):
>
> This means that local REQUIRE files aren’t helpful in identifying the packages?

Well, they should indicate which packages **might** be the problem, but don’t have up-to-date version info. The issue is that the REQUIRE file was checked at the time of a package tag, but when a dependency is updated with a new API the relationship has to be put in METADATA instead. (Apparently this has to be managed by hand; one hopes Pkg3 will do better.)

---

<div class="post-metadata">

**Author:** ![Nosferican](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nosferican/32/9275_2.png) [@Nosferican](https://discourse.julialang.org/u/Nosferican)\
**Post date:** [November 26, 2017, 7:51pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/5 "2017-11-26T19:51:58Z")

</div>

Pkg3 is suppose to.

---

<div class="post-metadata">

**Author:** ![js135005](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/js135005/32/8219_2.png) [@js135005](https://discourse.julialang.org/u/js135005)\
**Post date:** [November 26, 2017, 9:33pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/6 "2017-11-26T21:33:34Z")

</div>

So far I have found three packages that definitely prevent the upgrade of DataFrames to v0.11.1 on Julia v0.6.1. They are ExcelFiles, PlotlyJS, and MySQL. I suspect ODBC might do the same. Doubtless there are others but I have now been able to get to v0.11.1.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [November 26, 2017, 9:53pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/7 "2017-11-26T21:53:14Z")

</div>

I started with a fresh JULIA\_PKGDIR and was able to update my GeoStats.jl package for the latest DataFrames.jl.

Thank you for sharing the list of packages that was problematic for you.

---

<div class="post-metadata">

**Author:** ![js135005](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/js135005/32/8219_2.png) [@js135005](https://discourse.julialang.org/u/js135005)\
**Post date:** [November 26, 2017, 10:19pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/8 "2017-11-26T22:19:03Z")

</div>

I did much the same - renamed my old package directory and created a new one. Then I added DataFrames first and continued adding packages until I hit ones that reverted to an older DataFrames version.

---

<div class="post-metadata">

**Author:** ![js135005](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/js135005/32/8219_2.png) [@js135005](https://discourse.julialang.org/u/js135005)\
**Post date:** [November 27, 2017, 9:16pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/9 "2017-11-27T21:16:04Z")

</div>

I have confirmed that the ODBC package prevents DataFrames from upgrading to v0.11.1.

The current problematic packages that I know are ExcelFiles, PlotlyJS (Plotly?), MySQL, and ODBC.

Checking further, it looks like there are active changes in progress for ODBC to support the missing construct. Hopefully this will get merged soon and remove the impediment in upgrading DataFrames.

---

<div class="post-metadata">

**Author:** ![amellnik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amellnik/32/137_2.png) [@amellnik](https://discourse.julialang.org/u/amellnik)\
**Post date:** [November 27, 2017, 9:31pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/10 "2017-11-27T21:31:14Z")

</div>

I’m going through the same process. Would you mind filing issues for any packages you find that don’t work on 0.11?

---

<div class="post-metadata">

**Author:** ![js135005](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/js135005/32/8219_2.png) [@js135005](https://discourse.julialang.org/u/js135005)\
**Post date:** [November 27, 2017, 11:08pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/11 "2017-11-27T23:08:11Z")

</div>

It looks as if Plotly/PlotlyJS may now work with DataFrames v0.11. I have filed issues against ExcelFiles, MySQL, and ODBC.packages for incompatibility with DataFrames v0.11.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/julialang/original/3X/1/2/12829a7ba92b924d4ce81099cbf99785bee9b405.png) [@system](https://discourse.julialang.org/u/system)\
**Post date:** [November 28, 2017, 9:00pm UTC](https://discourse.julialang.org/t/how-to-discover-packages-that-are-holding-other-packages-from-updating/7311/12 "2017-11-28T21:00:29Z")

</div>

This topic was automatically closed after 3 days. New replies are no longer allowed.
