Hi all, I’m trying to use the following workflow to collaboratively experiment with and develop a package.
The setup is as follows: I have a
project directory with
Project.toml and a script
script.jl that runs an experiment. In
Manifest.toml all required package versions are specified, so as to be able to instantiate the environment and run the same experiment, e.g. on a different machine. Among the required packages is
PkgA, my own unregistered package, living in whatever git repository, that my friend Alice and I are interested in improving.
Manifest.toml will have something like
[[PkgA]] deps = ["PkgB", "PkgC", "PkgD"] git-tree-sha1 = "abc" repo-rev = "master" repo-url = "https://github.com/bob/PkgA.jl" uuid = "xyz" version = "0.1.0"
If I just send the project to Alice, she should be able to run the experiment by doing:
shell> cd project shell> julia julia> ] pkg> activate . (project) pkg> instantiate [...] julia> include("script.jl")
Now Alice has an idea: she wants to locally make a change to
PkgA, re-run the experiment, and check whether it improves things. My understanding is that she should be doing
julia> ] (project) pkg> dev PkgA
and then go somewhere maybe in
.julia/dev to find the sources, do the change, run the script again. Except that the above instructions yield (Julia 1.0.1):
(project) pkg> dev PkgA ERROR: The following package names could not be resolved: * PkgA (xyz in manifest but not in project) Please specify by known `name=uuid`.
Am I trying doing it the wrong way?