# Experimenting and developing unregistered packages

**URL:** <https://discourse.julialang.org/t/experimenting-and-developing-unregistered-packages/16563>\
**Category:** General Usage\
**Tags:** question, pkg\
**Created:** [October 20, 2018, 11:49am UTC](https://discourse.julialang.org/t/experimenting-and-developing-unregistered-packages/16563 "2018-10-20T11:49:19Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![lostella](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lostella/32/356_2.png) [@lostella](https://discourse.julialang.org/u/lostella)\
**Post date:** [October 20, 2018, 11:49am UTC](https://discourse.julialang.org/t/experimenting-and-developing-unregistered-packages/16563/1 "2018-10-20T11:49:20Z")

</div>

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.

So `Manifest.toml` will have something like

```julia
[[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:

```julia
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
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):

```julia
(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?

---

_[View the full topic](https://discourse.julialang.org/t/experimenting-and-developing-unregistered-packages/16563)._
