How to list up the compiled packages via PackageCompiler.jl?

Viewed 41

I'm new to Julia.

I wonder if I can list up the compiled packages via PackageCompiler.jl because I'm sometimes confused whether I've already compiled some packages of interest.

Is it possible?

1 Answers

Given an existing, already compiled system image, you can use Base.loaded_modules in order to find which modules have been baked into it:

$ julia -q -J /path/to/sysimage.so
julia> Base.loaded_modules
Dict{Base.PkgId,Module} with 33 entries:
  Mmap [a63ad114-7e13-5084-954f-fe012c677804]             => Mmap
  LinearAlgebra [37e2e46d-f89d-539d-b4ee-838fcccc9c8e]    => LinearAlgebra
  InteractiveUtils [b77e0a4c-d291-57a0-90e8-8db25a27a240] => InteractiveUtils
  Distributed [8ba89e20-285c-5b6f-9357-94700520ee1b]      => Distributed
  [...]

However, to the best of my knowledge, there is no centralized list of all system images that you ever compiled. If you get confused about what you did compile, I would recommend that you consistently use an adequate naming policy when building your system images.

I personally tend to put system images for a given project in the root directory of the project itself. And I always include the Julia version in the sysimage name, as a given sysimage is only ever valid for the exact version of Julia it has been built with.

Related