# KeyError when updating packages

**URL:** https://discourse.julialang.org/t/keyerror-when-updating-packages/78740
**Category:** New to Julia
**Tags:** package, update, pluto
**Created:** [March 30, 2022, 1:25pm UTC](https://discourse.julialang.org/t/keyerror-when-updating-packages/78740 "2022-03-30T13:25:28Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Alseidon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alseidon/32/207775_2.png) [@Alseidon](https://discourse.julialang.org/u/Alseidon)
#### Post date: [March 30, 2022, 1:25pm UTC](https://discourse.julialang.org/t/keyerror-when-updating-packages/78740/1 "2022-03-30T13:25:28Z")

</div>

Hi all,

Since some hours ago I can’t seem to update my packages : here is the result I get.

```julia
(@v1.6) pkg> update
ERROR: KeyError: key "BitTwiddlingConvenienceFunctions" not found
Stacktrace:
  [1] getindex
    @ ./dict.jl:482 [inlined]
  [2] #33
    @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/manifest.jl:273 [inlined]
  [3] _all(f::Pkg.Types.var"#33#36"{Dict{String, Bool}}, itr::Dict{String, Base.UUID}, #unused#::Colon)
    @ Base ./reduce.jl:923
  [4] all
    @ ./reduce.jl:918 [inlined]
  [5] destructure(manifest::Pkg.Types.Manifest)
    @ Pkg.Types /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/manifest.jl:273
  [6] write_manifest(manifest::Pkg.Types.Manifest, manifest_file::String)
    @ Pkg.Types /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/manifest.jl:296
  [7] write_manifest
    @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/manifest.jl:293 [inlined]
  [8] write_env(env::Pkg.Types.EnvCache; update_undo::Bool)
    @ Pkg.Types /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1421
  [9] write_env
    @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1420 [inlined]
 [10] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, level::Pkg.Types.UpgradeLevel)
    @ Pkg.Operations /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1327
 [11] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, kwargs::Base.Iterators.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:261
 [12] up(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:80
 [13] up(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:78
 [14] do_cmd!(command::Pkg.REPLMode.Command, repl::REPL.LineEditREPL)
    @ Pkg.REPLMode /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:408
 [15] do_cmd(repl::REPL.LineEditREPL, input::String; do_rethrow::Bool)
    @ Pkg.REPLMode /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:386
 [16] do_cmd
    @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:377 [inlined]
 [17] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ Pkg.REPLMode /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:550
 [18] #invokelatest#2
    @ ./essentials.jl:708 [inlined]
 [19] invokelatest
    @ ./essentials.jl:706 [inlined]
 [20] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/REPL/src/LineEdit.jl:2441
 [21] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:1126
 [22] (::REPL.var"#44#49"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ./task.jl:411

```

The thing is, I have the impression it broke Pluto, which is my main way of working in Julia. I don’t know if broken Pluto is the cause or the effect… Here is the result of trying to open a new notebook with just `using Plots` inside:

```julia
julia> using Pluto

julia> Pluto.run()
[ Info: Loading...

Opening http://localhost:1234/?secret=tTbboBu8 in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

    Updating registry done ✓
   Resolving package versions...
   Resolving package versions...
   Resolving package versions...
   Resolving package versions...
┌ Warning: PlutoPkg: Failed to add/remove packages! Resetting package environment...
│ PLUTO_VERSION = v"0.18.1"
│ VERSION = v"1.6.5"
│ old_packages =
│ 1-element Vector{String}:
│ "Plots"
│ new_packages =
│ 1-element Vector{String}:
│ "Plots"
│ exception =
│ Unsatisfiable requirements detected for package Bzip2_jll [6e34b625]:
│ Bzip2_jll [6e34b625] log:
│ ├─Bzip2_jll [6e34b625] has no known versions!
│ └─found to have no compatible versions left with GR_jll [d2c73de3]
│ └─GR_jll [d2c73de3] log:
│ ├─possible versions are: 0.51.2-0.64.1 or uninstalled
│ └─restricted by compatibility requirements with GR [28b8d3ca] to versions: 0.51.2-0.64.1
│ └─GR [28b8d3ca] log:
│ ├─possible versions are: 0.35.0-0.64.1 or uninstalled
│ └─restricted by compatibility requirements with Plots [91a5bcdd] to versions: 0.64.0-0.64.1
│ └─Plots [91a5bcdd] log:
│ ├─possible versions are: 0.12.1-1.27.3 or uninstalled
│ └─restricted to versions 1.27.3 by an explicit requirement, leaving only versions 1.27.3
│ Stacktrace:
│ [1] propagate_constraints!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; log_events::Bool)
│ @ Pkg.Resolve /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Resolve/graphtype.jl:1048
│ [2] propagate_constraints! (repeats 2 times)
│ @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Resolve/graphtype.jl:989 [inlined]
│ [3] simplify_graph!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; clean_graph::Bool)
│ @ Pkg.Resolve /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Resolve/graphtype.jl:1503
│ [4] simplify_graph! (repeats 2 times)
│ @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Resolve/graphtype.jl:1503 [inlined]
│ [5] resolve_versions!(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec})
│ @ Pkg.Operations /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:408
│ [6] targeted_resolve(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, preserve::Pkg.Types.PreserveLevel)
│ @ Pkg.Operations /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1215
│ [7] _resolve
│ @ /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1221 [inlined]
│ [8] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Vector{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
│ @ Pkg.Operations /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1236
│ [9] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│ @ Pkg.API /tmp/scratch/julia-1.6.5/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:204
│ [10] (::Pluto.var"#130#144"{Vector{String}, Pluto.Notebook, Pluto.IOListener})()
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:166
│ [11] withinteractive(f::Pluto.var"#130#144"{Vector{String}, Pluto.Notebook, Pluto.IOListener}, value::Bool)
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:495
│ [12] #129
│ @ ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:152 [inlined]
│ [13] withio(f::Pluto.var"#129#143"{Vector{String}, Pluto.Notebook, Pluto.IOListener}, ctx::Pkg.Types.Context, io::IOContext{IOBuffer})
│ @ Pluto.PkgCompat ~/.julia/packages/Pluto/MmUNj/src/packages/PkgCompat.jl:129
│ [14] (::Pluto.var"#123#136"{Pluto.Notebook, Pluto.IOListener, Vector{String}, Vector{String}, Bool, Bool})()
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:151
│ [15] withtoken(f::Pluto.var"#123#136"{Pluto.Notebook, Pluto.IOListener, Vector{String}, Vector{String}, Bool, Bool}, token::Pluto.Token)
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/evaluation/Tokens.jl:19
│ [16] sync_nbpkg_core(notebook::Pluto.Notebook; on_terminal_output::Pluto.var"#iocallback#152"{Pluto.ServerSession, Pluto.Notebook})
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:103
│ [17] #150
│ @ ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:262 [inlined]
│ [18] withtoken(f::Pluto.var"#150#151"{Pluto.ServerSession, Pluto.Notebook}, token::Pluto.Token)
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/evaluation/Tokens.jl:19
│ [19] sync_nbpkg(session::Pluto.ServerSession, notebook::Pluto.Notebook; save::Bool)
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:253
│ [20] (::Pluto.var"#218#221"{Bool, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Pluto.ServerSession, Pluto.Notebook})()
│ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/evaluation/Run.jl:500
│ [21] macro expansion
│ @ ~/.julia/packages/Pluto/MmUNj/src/evaluation/Tokens.jl:101 [inlined]
│ [22] (::Pluto.var"#193#194"{Pluto.var"#218#221"{Bool, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Pluto.ServerSession, Pluto.Notebook}})()
│ @ Pluto ./task.jl:411
└ @ Pluto ~/.julia/packages/Pluto/MmUNj/src/packages/Packages.jl:286
┌ Info: Backup saved to
└ backup_path = "/home/alseidon/.julia/pluto_notebooks/Revolutionary story backup 1.jl"

```

I should mention I am not an admin on my system (Ubuntu 20.04.3).

---

<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: [March 30, 2022, 2:15pm UTC](https://discourse.julialang.org/t/keyerror-when-updating-packages/78740/2 "2022-03-30T14:15:30Z")

</div>

Could you post your `Project.toml` and `Manifest.toml` here so maybe someone else can reproduce it?

---

<div class="post-metadata">

### Author: ![Alseidon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alseidon/32/207775_2.png) [@Alseidon](https://discourse.julialang.org/u/Alseidon)
#### Post date: [March 30, 2022, 2:28pm UTC](https://discourse.julialang.org/t/keyerror-when-updating-packages/78740/3 "2022-03-30T14:28:19Z")

</div>

Sure, here is `Project.toml` :

```julia
[deps]
NOMAD = "02130f1c-4665-5b79-af82-ff1385104aa0"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781"
TaylorIntegration = "92b13dbe-c966-51a2-8445-caca9f8a7d42"

[extras]
CPUSummary = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9"

```

And here is a link to `Manifest.toml` : [Dropbox - Manifest.toml - Simplify your life](https://www.dropbox.com/s/igvqnkt5s6ne3wk/Manifest.toml?dl=0)
