Предполагая, что вы храните свой репозиторий пакетов в стандартном месте, вы можете использовать
using Pkg
Pkg.update()
reg = "~/.julia/registries/General/Registry.toml"
regdict = Pkg.TOML.parsefile(reg)
pkg_list = getindex.(values(regdict["packages"]), "name")
Если вы используете нестандартное расположение файла Registry.toml, вы можете увидеть его, например, когда вы запускаете команду Pkg.update()
или получаете ее, используя Pkg.Types.registries()
(каталог, в котором находится этот файл, должен быть первой записью в списке).
Наконец, вы можете получить Registry.toml из https://github.com/JuliaRegistries/General GitHub репозитория.
РЕДАКТИРОВАТЬ:
Используя стандартные функции, вы можете сделать это следующим образом
using Pkg
reg = joinpath(Pkg.Types.registries()[1], "Registry.toml")
regdict = Pkg.Types.read_registry(reg)
pkg_list = getindex.(values(regdict["packages"]), "name")