In my root Project.toml i have only PackageCompiler.jl as dependency.
And in my App I have some dependencies, including local modules via [sources] and packages from a private registry.
When I run include("compiled/make.jl") I get an error message that one of the private packages is not registered. ERROR: expected package .... to be registered
I would have expected a line Updating registry at... for your private registry as well, so it doesn’t look like PackageCompiler is seeing the same registries as you are.
I’m regularly using PackageCompiler with a private registry at work without problems, but a difference is that we run our own package server, which makes Pkg install our private registry by default.
I have tried to disable the package server in order to reproduce this problem, without success, but I can’t say with confidence that I managed to set up a correct environment.
I tried with replacing the get_julia_cmd method to include a startup file and installing the registry.
function PackageCompiler.get_julia_cmd()
julia_path = joinpath(Sys.BINDIR, Base.julia_exename())
color = if Base.have_color === nothing
"auto"
elseif Base.have_color
"yes"
else
"no"
end
if isdefined(Base, :Linking) # pkgimage support feature flag
`$julia_path --color=$color --startup-file=yes --pkgimages=no`
else
`$julia_path --color=$color --startup-file=yes`
end
end
But I get now a different error:
Cloning registry from "<url-to-my-registry>MyRegistry.jl.git"
Registry `MyRegistry` already exists in `C:\<path>\registries\MyRegistry`.
ERROR: Precompiling failed to find source of parent package: "MyPackage" project...
I also tried to locally clone and dev the package. That works, however is not really feasible, since versioning does not work or is at least cumbersome.