Cannot run one package extension but the other

I have the following code here, where I define 2 package extensions: BrillouinSpglibExt & PeriodicTableExt. However, I can run the extension BrillouinSpglibExt but not the PeriodicTableExt. I met the following errors when running the latter:

julia> using PeriodicTable

(@v1.10) pkg> activate .
  Activating project at `~/.julia/dev/CrystallographyBase`

julia> using CrystallographyBase
[ Info: Precompiling PeriodicTableExt [2e94639d-d7d3-5599-a54d-7c6405eaa55c]
ERROR: LoadError: ArgumentError: Package PeriodicTableExt does not have CrystallographBase in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
  to ensure all packages in the environment are installed.
- Or, if you have PeriodicTableExt checked out for development and have
  added CrystallographBase as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with PeriodicTableExt
Stacktrace:
 [1] macro expansion
   @ Base ./loading.jl:1770 [inlined]
 [2] macro expansion
   @ Base ./lock.jl:267 [inlined]
 [3] __require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1747
 [4] #invoke_in_world#3
   @ Base ./essentials.jl:921 [inlined]
 [5] invoke_in_world
   @ Base ./essentials.jl:918 [inlined]
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1740
 [7] include
   @ Base ./Base.jl:489 [inlined]
 [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
   @ Base ./loading.jl:2216
 [9] top-level scope
   @ stdin:3
in expression starting at ~/.julia/dev/CrystallographyBase/ext/PeriodicTableExt.jl:1
in expression starting at stdin:3
┌ Error: Error during loading of extension PeriodicTableExt of CrystallographyBase, use `Base.retry_load_extensions()` to retry.
│   exception =
│    1-element ExceptionStack:
│    Failed to precompile PeriodicTableExt [2e94639d-d7d3-5599-a54d-7c6405eaa55c] to "~/.julia/compiled/v1.10/PeriodicTableExt/jl_4GNDST".
│    Stacktrace:
│      [1] error(s::String)
│        @ Base ./error.jl:35
│      [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
│        @ Base ./loading.jl:2468
│      [3] compilecache
│        @ Base ./loading.jl:2334 [inlined]
│      [4] (::Base.var"#967#968"{Base.PkgId})()
│        @ Base ./loading.jl:1968
│      [5] mkpidlock(f::Base.var"#967#968"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
│        @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:92
│      [6] #mkpidlock#6
│        @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:87 [inlined]
│      [7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
│        @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:110
│      [8] #invokelatest#2
│        @ Base ./essentials.jl:889 [inlined]
│      [9] invokelatest
│        @ Base ./essentials.jl:884 [inlined]
│     [10] maybe_cachefile_lock(f::Base.var"#967#968"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
│        @ Base ./loading.jl:2978
│     [11] maybe_cachefile_lock
│        @ Base ./loading.jl:2975 [inlined]
│     [12] _require(pkg::Base.PkgId, env::Nothing)
│        @ Base ./loading.jl:1964
│     [13] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│        @ Base ./loading.jl:1806
│     [14] #invoke_in_world#3
│        @ Base ./essentials.jl:921 [inlined]
│     [15] invoke_in_world
│        @ Base ./essentials.jl:918 [inlined]
│     [16] _require_prelocked
│        @ Base ./loading.jl:1797 [inlined]
│     [17] _require_prelocked
│        @ Base ./loading.jl:1796 [inlined]
│     [18] run_extension_callbacks(extid::Base.ExtensionId)
│        @ Base ./loading.jl:1289
│     [19] run_extension_callbacks(pkgid::Base.PkgId)
│        @ Base ./loading.jl:1324
│     [20] run_package_callbacks(modkey::Base.PkgId)
│        @ Base ./loading.jl:1158
│     [21] __require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base ./loading.jl:1813
│     [22] #invoke_in_world#3
│        @ Base ./essentials.jl:921 [inlined]
│     [23] invoke_in_world
│        @ Base ./essentials.jl:918 [inlined]
│     [24] _require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base ./loading.jl:1797
│     [25] macro expansion
│        @ Base ./loading.jl:1784 [inlined]
│     [26] macro expansion
│        @ Base ./lock.jl:267 [inlined]
│     [27] __require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1747
│     [28] #invoke_in_world#3
│        @ Base ./essentials.jl:921 [inlined]
│     [29] invoke_in_world
│        @ Base ./essentials.jl:918 [inlined]
│     [30] require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1740
│     [31] eval
│        @ Core ./boot.jl:383 [inlined]
│     [32] eval_user_input(ast::Any, backend::REPL.REPLBackend, mod::Module)
│        @ REPL ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/REPL/src/REPL.jl:150
│     [33] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
│        @ REPL ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/REPL/src/REPL.jl:246
│     [34] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
│        @ REPL ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/REPL/src/REPL.jl:231
│     [35] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
│        @ REPL ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/REPL/src/REPL.jl:389
│     [36] run_repl(repl::REPL.AbstractREPL, consumer::Any)
│        @ REPL ~/.julia/juliaup/julia-1.10.0-beta2+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/REPL/src/REPL.jl:375
│     [37] (::Base.var"#1012#1014"{Bool, Bool, Bool})(REPL::Module)
│        @ Base ./client.jl:432
│     [38] #invokelatest#2
│        @ Base ./essentials.jl:887 [inlined]
│     [39] invokelatest
│        @ Base ./essentials.jl:884 [inlined]
│     [40] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
│        @ Base ./client.jl:416
│     [41] exec_options(opts::Base.JLOptions)
│        @ Base ./client.jl:333
│     [42] _start()
│        @ Base ./client.jl:552
└ @ Base loading.jl:1295

What is wrong with my package extension implementation?
It seems to be OK to extension functions defined in my main package CrystallographyBase as indicated in the official documentation.

julia> versioninfo()
Julia Version 1.10.0-beta2
Commit a468aa198d0 (2023-08-17 06:27 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (arm64-apple-darwin22.4.0)
  CPU: 10 × Apple M1 Pro
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
  Threads: 1 on 8 virtual cores

typo?
CrystallographBase != CrystallographyBase

Oh! Sorry, my bad. Now it is fixed. Thank you!

1 Like