# Pkg Manager Problems after an update

**URL:** <https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704>\
**Category:** General Usage\
**Tags:** pkg\
**Created:** [July 23, 2019, 9:59pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704 "2019-07-23T21:59:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 23, 2019, 9:59pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/1 "2019-07-23T21:59:16Z")

</div>

I’ve recently tagged new versions of two of my packages, [JuLIP.jl](https://github.com/libAtoms/JuLIP.jl) and [NeighbourLists.jl](https://github.com/libAtoms/NeighbourLists.jl), and all hell has broken loose now in my small package eco-system. I would be grateful for any help in unravelling this. I performed my updates in the following steps (tagging new versions via Registrator):

- to begin, I had `JuLIP@v0.7.2` and `NeighbourLists@v0.4.1`
- I made some updates to both, then tagged `NeighbourLists@v0.5.0`
- I then tagged `JuLIP@v0.8.0`
- I then fixed the compatibility on the `JuLIP.jl` `v0.7.x` branch and. tagged `JuLIP@v0.7.3`

This is when my problems started. I suspect my problems can be reduced to understanding the following issue:

- I use the package manager to create a “fresh” environment:

```julia
] generate test
] activate test
] add JuLIP

```

- For some reason, `JuLIP@v0.7.3` is installed and not `v0.8.0` =\> Why?

There seems to be some incompatibility between `JuLIP` and `NeighbourLists`. I can see this, when I try to `] free JuLIP` in my `v1.1` environment. I then get the following error message:

```julia
ERROR: Unsatisfiable requirements detected for package NeighbourLists [2fcf5ba9]:
 NeighbourLists [2fcf5ba9] log:
 ├─possible versions are: [0.1.0, 0.2.0-0.2.2, 0.3.0-0.3.1, 0.4.0-0.4.1, 0.5.0] or uninstalled
 ├─restricted to versions * by SHIPs [07029e18], leaving only versions [0.1.0, 0.2.0-0.2.2, 0.3.0-0.3.1, 0.4.0-0.4.1, 0.5.0]
 │ └─SHIPs [07029e18] log:
 │ ├─possible versions are: 0.2.0 or uninstalled
 │ └─SHIPs [07029e18] is fixed to version 0.2.0
 ├─restricted to versions 0.3.0-* by NBodyIPs [091ff95d], leaving only versions [0.3.0-0.3.1, 0.4.0-0.4.1, 0.5.0]
 │ └─NBodyIPs [091ff95d] log:
 │ ├─possible versions are: 0.0.0 or uninstalled
 │ ├─restricted to versions 0.0.0-* by NBIPsMulti [7858835e], leaving only versions 0.0.0
 │ │ └─NBIPsMulti [7858835e] log:
 │ │ ├─possible versions are: 0.0.0 or uninstalled
 │ │ └─NBIPsMulti [7858835e] is fixed to version 0.0.0
 │ └─NBodyIPs [091ff95d] is fixed to version 0.0.0
 ├─restricted to versions 0.5.0 by an explicit requirement, leaving only versions 0.5.0
 └─found to have no compatible versions left with JuLIP [945c410c]
   └─JuLIP [945c410c] log:
     ├─possible versions are: [0.0.1, 0.1.0-0.1.1, 0.2.0-0.2.2, 0.4.0-0.4.2, 0.6.0-0.6.1, 0.7.0-0.7.3, 0.8.0] or uninstalled
     └─restricted to versions 0.8.0-0.8 by SHIPs [07029e18], leaving only versions 0.8.0
       └─SHIPs [07029e18] log: see above

```

I don’t understand this, since `JuLIP@v0.8.0` and `NeighbourLists@v0.5.0` should be compatible:

```julia
# JuLIP/Project.toml
[compat]
NeighbourLists = "≥ 0.5.0"
julia = "1"

# Neighbourlists/Project.toml
[compat]
julia = "0.7, 1"

```

See also the relevant files in the Registry:

- [https://github.com/JuliaRegistries/General/tree/master/N/NeighbourLists](https://github.com/JuliaRegistries/General/tree/master/N/NeighbourLists)
- [https://github.com/JuliaRegistries/General/tree/master/J/JuLIP](https://github.com/JuliaRegistries/General/tree/master/J/JuLIP)

---

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 23, 2019, 10:12pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/2 "2019-07-23T22:12:47Z")

</div>

update: I tried again on a clean Julia system, and same problem (`v0.7.3` as opposed to `v0.8.0`) occurs.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [July 23, 2019, 10:36pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/3 "2019-07-23T22:36:16Z")

</div>

The problem is this entry

[https://github.com/JuliaRegistries/General/blob/f6b0c57970958a4911c0226a2e7830ee1ead7819/J/JuLIP/Compat.toml#L79-L80](https://github.com/JuliaRegistries/General/blob/f6b0c57970958a4911c0226a2e7830ee1ead7819/J/JuLIP/Compat.toml#L79-L80)

It says that all versions between of JuLIP from 0.7.3 up to 1.0 are only compatible with NeighbourLists 0.3-0.4. Then the next entry

[https://github.com/JuliaRegistries/General/blob/f6b0c57970958a4911c0226a2e7830ee1ead7819/J/JuLIP/Compat.toml#L82-L83](https://github.com/JuliaRegistries/General/blob/f6b0c57970958a4911c0226a2e7830ee1ead7819/J/JuLIP/Compat.toml#L82-L83)

has looser compatibility but the previous one is still valid. This seems like a bug in the script that produces the PR to the General registry.

---

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 23, 2019, 10:42pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/4 "2019-07-23T22:42:43Z")

</div>

Any chance this is related to reversing the order of tags?

---

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 23, 2019, 10:43pm UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/5 "2019-07-23T22:43:08Z")

</div>

As a temporary fix should i just tag another version 0.8.1 of JuLIP?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [July 24, 2019, 2:42am UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/6 "2019-07-24T02:42:17Z")

</div>

That’s not gonna help because the bad compat entry will still be there.

```julia
["0.7.3-0"]
NeighbourLists = "0.3-0.4"

```

Should be changed to something like

```julia
["0.7.3"]
NeighbourLists = "0.3-0.4"

```

---

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 24, 2019, 2:53am UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/7 "2019-07-24T02:53:17Z")

</div>

I see - so I should manually fork the `General` registry, make the change and make a PR?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [July 24, 2019, 3:15am UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/8 "2019-07-24T03:15:29Z")

</div>

Yes, that is one option, or just use the GitHub UI. But you can make the change locally first and see that things behave like they should after the change.

---

<div class="post-metadata">

**Author:** ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)\
**Post date:** [July 24, 2019, 4:56am UTC](https://discourse.julialang.org/t/pkg-manager-problems-after-an-update/26704/9 "2019-07-24T04:56:26Z")

</div>

thanks - the change worked locally. I made the PR via the GitHub UI as you suggested.
