# How to add information of unregistered packages on Project.toml instead of Manifest.toml?

**URL:** <https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773>\
**Category:** General Usage\
**Tags:** pkg, project\
**Created:** [May 27, 2024, 9:43am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773 "2024-05-27T09:43:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [May 27, 2024, 9:43am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/1 "2024-05-27T09:43:24Z")

</div>

Hi, I am working on a set of packages that I don’t want yet to register.  
The issue is that when I add one as a dependency of another one, like `add git@github.com:forestmod/GenFSM_resources.jl.git` in the environment of `GenFSM`, then in `GenFSM` Poject.toml I have just the id of `GenFSM_resources`, but not its url, that is in `Manifest.toml`.  
So, if I remove the Manifest.toml and I instantiate, I lose this information.

Is there a way to add to Project.toml the url of unregistered packages?  
If not, I think this should be implemented at Pkg level, as to have Project.toml to store the id for registered packages and the id + full url for unregistered ones…

I understood that a solution is to employ a local registry, but I think it is a bit too much, I don’t want to set up a local registry, just make discoverable a bunch of public github repos…

---

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [May 27, 2024, 10:08am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/2 "2024-05-27T10:08:32Z")

</div>

A future version of `Pkg` will allow for a `[sources]` section in the `Project.toml` to handle this: [Support a `[sources]` section in Project.toml for specifying paths and repo locations for dependencies by KristofferC · Pull Request #3783 · JuliaLang/Pkg.jl · GitHub](https://github.com/JuliaLang/Pkg.jl/pull/3783)

I’m not quite sure when this will be released, 1.11 or 1.12. You should be able to try it out now with `nightly`

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [May 27, 2024, 10:17am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/3 "2024-05-27T10:17:29Z")

</div>

An alternative is to perform the necessary `pkg> add` or `pkg> dev` inside CI, or as part of your test suite. You will also need to give detailed instructions for users on how to install the set of inter-related packages from URLs, in the correct order.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 27, 2024, 11:21am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/4 "2024-05-27T11:21:15Z")

</div>

> [@goerz](#):
>
> I’m not quite sure when this will be released, 1.11

1.11

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [May 27, 2024, 11:28am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/5 "2024-05-27T11:28:53Z")

</div>

Thank you… nice when you propose something and you discover it is just coming 🙂 🙂🙂

Don’t forget to add it to the [News](https://github.com/JuliaLang/julia/blob/release-1.11/NEWS.md)… for now, there is only the `Manifest-v{major}.{minor}.toml` feature…

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [May 29, 2024, 7:42am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/6 "2024-05-29T07:42:56Z")

</div>

I confirm this is “working” in julia-1.11.0-beta1, however I think I ran into a corner case.  
I want to specify that my dependent package comes from an unregistered repo, but then, like for normal registered packages, I want also to specify that in this specific installation (Manifest) the package must come from a local source for development, as I am developing the 2 packages in parallel, but I am receiving an error:

Main package (GenFSM) Project.toml:

```julia
[deps]
GenFSM_resources = "731fd045-8cb1-4036-8c04-a2a477f3265a"

[sources]
GenFSM_resources = {url = "git@github.com:forestmod/GenFSM_resources.jl.git", rev = "main"}

```

Error when I try to specify to use a local version of the dependant package:

```julia
(GenFSM) pkg> dev GenFSM_resources
ERROR: `path` and `url` are conflicting specifications

```

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 29, 2024, 11:07am UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/7 "2024-05-29T11:07:54Z")

</div>

I understand. I guess the `[sources]` section should maybe be only used when there is no information at all in the manifest about the package. As it is right now, it is pretty much enforced that you will have the same entry in `[sources]` as you have in the manifest.

---

<div class="post-metadata">

**Author:** ![Kolaru](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kolaru/32/4574_2.png) [@Kolaru](https://discourse.julialang.org/u/Kolaru)\
**Post date:** [July 23, 2025, 12:02pm UTC](https://discourse.julialang.org/t/how-to-add-information-of-unregistered-packages-on-project-toml-instead-of-manifest-toml/114773/8 "2025-07-23T12:02:53Z")

</div>

For reference, the documentation is here: [10. Project.toml and Manifest.toml · Pkg.jl](https://pkgdocs.julialang.org/v1/toml-files/#The-%5Bsources%5D-section)
