# How to solve problem with TOML.jl?

**URL:** <https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319>\
**Category:** General Usage\
**Created:** [February 25, 2018, 6:01pm UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319 "2018-02-25T18:01:28Z")\
**Posts on this page:** 9\
**Page:** 3

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [August 21, 2018, 6:44am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/41 "2018-08-21T06:44:19Z")

</div>

Was it fixed on the other repo then? If so, you can clone that one and use that UUID instead. Working with unregistered packages is fine, you only need to look up the UUID in `environments/v0.7/Manifest.toml`

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [August 21, 2018, 6:45am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/42 "2018-08-21T06:45:12Z")

</div>

> [@chakravala](#):
>
> This works perfectly fine for me, although it’s not an ideal situation.

That sounds good and it would be really interesting what one has to do exactly. Most information here on discourse say that we should not yet use Manifest.toml / Project.toml but REQUIRE. Can one use both at the same time? All this is not clear.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [August 21, 2018, 6:46am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/43 "2018-08-21T06:46:32Z")

</div>

> [@tobias.knopp](#):
>
> Can one use both at the same time? All this is not clear.

Yes, both can be used simultaneously. I dont know about the advice given here, but I have been using Project.toml for unregistered packages successfully already.

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [August 21, 2018, 6:57am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/44 "2018-08-21T06:57:46Z")

</div>

Could you please give be an example how to achieve this? I am still struggling getting a chain of 5 unregistered packages to work. The situation is that I have packages A and B both unregistered and I have added the dependency A into the REQUIRE of A. How do I port them to Manifest/Project? What I want at the end is that when I install B that it should also install A. Currently I have to “dev” them all in the correct order to get anything work.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [August 21, 2018, 7:04am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/45 "2018-08-21T07:04:31Z")

</div>

> [@tobias.knopp](#):
>
> Currently I have to “dev” them all in the correct order to get anything work.

My workflow also requires me to `dev` the required packages, since an unregistered package cannot be automatically cloned. The only way to resolve this would be to register it, as far as I currently know. Perhaps, the `Project.toml` file could be including information about github repositories, so that they unregistered dependencies can autoamtically be cloned also? @StefanKarpinski @kristoffer.carlsson

> [@tobias.knopp](#):
>
> Could you please give be an example how to achieve this?

What I do is this: if I have unregistered package A, I `dev` it into the package manager. I make sure that there is a `Project.toml` there. then I also `dev` into the B unregistered package that has A as dependency. Then I check in `~/.julia/environments/x.y/Manifest.toml` to find the UUID of A and add it to the `Project.toml` of B under `[deps]`. Be sure to run `Pkg.resolve()` after also.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [August 21, 2018, 7:09am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/46 "2018-08-21T07:09:43Z")

</div>

> [@chakravala](#):
>
> Perhaps, the `Project.toml` file could be including information about github repositories, so that they unregistered dependencies can autoamtically be cloned also?

> <https://github.com/JuliaLang/Pkg.jl/issues/492>
>
> Currently \`Project.toml\` is not enough to use a package, unless all it's deps ca…n be found and installed from registries. I think it would be nice to include some information in \`Project.toml\` about where to find the deps. In particular two usecases come to mind:
> 
> 1. Projects which depend on unregistred packages could put a url to the package
> \`\`\`
> name = "Foo"
> uuid = "4bdd1c6b-68bb-4dfe-a423-fa0d59eb7384"
> version = "0.1.0"
> 
> \[deps\]
> Bar = "ce02910b-3083-40c5-958c-8fd1036218f1"
> 
> \[where\]
> Bar = "https://www.bar.com"
> \`\`\`
> 2. Projects with deps in the same repo can put the (relative) path
> \`\`\`
> name = "Foo"
> uuid = "4bdd1c6b-68bb-4dfe-a423-fa0d59eb7384"
> version = "0.1.0"
> 
> \[deps\]
> Bar = "ce02910b-3083-40c5-958c-8fd1036218f1"
> 
> \[where\]
> Bar = "modules/Bar"
> \`\`\`
> 
> This would make \`Project.toml\` a bit more standalone; I can give that to someone and things will work, but if I want that someone to obtain the exact state I have, then I can also send \`Manifest.toml\`.

---

<div class="post-metadata">

**Author:** ![haberdashPI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/haberdashpi/32/26337_2.png) [@haberdashPI](https://discourse.julialang.org/u/haberdashPI)\
**Post date:** [May 23, 2019, 8:52pm UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/47 "2019-05-23T20:52:20Z")

</div>

> [@kristoffer.carlsson](#):
>
> There is another TOML.jl package occupying that spot in METADATA so it either needs to change name or wait until we swap over to the other registry which can handle multiple packages with the same name.

I realize this thread is old, but it appears that the recent transition to the new registration process (thank you!!) now mean that @wildart 's version of `TOML.jl` can be registered. Is that right? Can this happen?

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [May 23, 2019, 9:00pm UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/48 "2019-05-23T21:00:31Z")

</div>

See [transition Pkg.TOML to stdlib/TOML · Issue #1011 · JuliaLang/Pkg.jl · GitHub](https://github.com/JuliaLang/Pkg.jl/issues/1011)

---

<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:** [September 1, 2020, 7:43am UTC](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319/49 "2020-09-01T07:43:31Z")

</div>

Since this thread comes up when googling TOML julia. Note that in 1.6 there is a TOML standard library that can be used (independently of Pkg).

[Previous page](https://discourse.julialang.org/t/how-to-solve-problem-with-toml-jl/9319.md?page=2)
