# Package updated but not in registry

**URL:** <https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451>\
**Category:** Package Management\
**Created:** [September 15, 2024, 11:43pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451 "2024-09-15T23:43:38Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![scheinerman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scheinerman/32/35303_2.png) [@scheinerman](https://discourse.julialang.org/u/scheinerman)\
**Post date:** [September 15, 2024, 11:43pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/1 "2024-09-15T23:43:38Z")

</div>

I recently updated [HasseDiagrams](https://github.com/scheinerman/HasseDiagrams.jl) to version 0.1.1. See [this entry](https://github.com/JuliaRegistries/General/pull/115210) in JuliaRegistries and [this entry](https://juliahub.com/ui/Packages/General/HasseDiagrams) in JuliaHub. No errors were reported in the attempted registration.

And yet the update doesn’t seem to be in the registry more than a day later.

```julia
(@v1.10) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
  No Changes to `~/.julia/environments/v1.10/Project.toml`
  No Changes to `~/.julia/environments/v1.10/Manifest.toml`

(@v1.10) pkg> status HasseDiagrams
Status `~/.julia/environments/v1.10/Project.toml`
  [eda30fb7] HasseDiagrams v0.1.0

```

I also tried the recommendation [here](https://github.com/JuliaRegistries/General/blob/2a678f26cb35e808ab95041528c58377b634f05f/CONTRIBUTING.md) about checking the registry with this result:

```julia
julia> check_package_versions("HasseDiagrams", "https://github.com/scheinerman/HasseDiagrams.jl")
Cloning into '/var/folders/dg/2jhjk10s2kn7jlljs7qm4z140000gn/T/jl_AkC09E'...
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (306/306), done.
remote: Compressing objects: 100% (202/202), done.
remote: Total 306 (delta 142), reused 244 (delta 83), pack-reused 0 (from 0)
Receiving objects: 100% (306/306), 611.44 KiB | 6.95 MiB/s, done.
Resolving deltas: 100% (142/142), done.
HasseDiagrams: v0.0.1 found
HasseDiagrams: v0.0.2 found
HasseDiagrams: v0.1.0 found
3-element Vector{@NamedTuple{pkg_name::String, version::VersionNumber, found::Bool}}:
 (pkg_name = "HasseDiagrams", version = v"0.0.1", found = 1)
 (pkg_name = "HasseDiagrams", version = v"0.0.2", found = 1)
 (pkg_name = "HasseDiagrams", version = v"0.1.0", found = 1)

```

Thoughts?

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [September 16, 2024, 7:53am UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/2 "2024-09-16T07:53:32Z")

</div>

You might want to try the “eager” registry flavor: [7. Registries · Pkg.jl](https://pkgdocs.julialang.org/v1/registries/#Registry-flavors)

Other possible explanations is that there is some other problem with the package servers or that your copy of the registry has become stuck for some reason, but usually these problems have to do with overload of the storage server backend for the package servers, typically because it needs to process large artifacts.

---

<div class="post-metadata">

**Author:** ![scheinerman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scheinerman/32/35303_2.png) [@scheinerman](https://discourse.julialang.org/u/scheinerman)\
**Post date:** [September 16, 2024, 8:08am UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/3 "2024-09-16T08:08:59Z")

</div>

Thank you.

This worked, thought I’ve never seen this issue before.

```julia
julia> ENV["JULIA_PKG_SERVER_REGISTRY_PREFERENCE"] = "eager"
"eager"

(@v1.10) pkg> up
...
   Installed HasseDiagrams ───────── v0.1.1
...
  [eda30fb7] ↑ HasseDiagrams v0.1.0 ⇒ v0.1.1
...

```

And if I restart Julia and do an update, it downgrades packages (taking `HasseDiagrams` back to 0.1.0).

I’m guessing there’s a problem/delay with the “conservative” package server.

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [September 16, 2024, 8:16am UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/4 "2024-09-16T08:16:57Z")

</div>

Those delays happen occasionally but if you’re not specifically looking for a freshly registered package or package version you wouldn’t notice.

---

<div class="post-metadata">

**Author:** ![scheinerman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scheinerman/32/35303_2.png) [@scheinerman](https://discourse.julialang.org/u/scheinerman)\
**Post date:** [September 16, 2024, 3:37pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/5 "2024-09-16T15:37:44Z")

</div>

Actually, I’ve noticed that no packages have been updating so I suspect there’s a clog in a pipe somewhere. When I “eagerly” update other packages besides mine are updated as well, but not when “conservative”.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 16, 2024, 4:12pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/6 "2024-09-16T16:12:43Z")

</div>

Same problem here. I cannot get the latest version of ControlPlots.

> [@scheinerman](#):
>
> ```julia
> JULIA_PKG_SERVER_REGISTRY_PREFERENCE"] = "eager"
> "eager"
> 
> ```

This fixed the issue for me, but it is still annoying. Never encountered such a long update delay before.

I am putting this line:

```julia
export JULIA_PKG_SERVER_REGISTRY_PREFERENCE="eager"

```

now in the scripts that build my system images. Could that have any disadvantage?

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [September 16, 2024, 5:23pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/7 "2024-09-16T17:23:38Z")

</div>

> [@ufechner7](#):
>
> Could that have any disadvantage?

Just as one example, if you are behind a firewall that allows the [Julia package server domains](https://julialang.org/downloads/#official_domains) but blocks e.g. GitHub’s domains, then you should use the `conservative` flavor of the registry (not the `eager` flavor).

In many other cases, it is perfectly fine to use the `eager` flavor.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [September 18, 2024, 7:26pm UTC](https://discourse.julialang.org/t/package-updated-but-not-in-registry/119451/8 "2024-09-18T19:26:36Z")

</div>

Btw, I would be happy to change the default to eager so long as we have a way to detect that GitHub is unreachable and the user may be behind a firewall and we can give specific instructions for how to opt into a conservative registry.
