# Help with creating a local repo

**URL:** <https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061>\
**Category:** New to Julia\
**Tags:** pkg\
**Created:** [August 9, 2018, 5:11am UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061 "2018-08-09T05:11:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![noambard](https://avatars.discourse-cdn.com/v4/letter/n/c77e96/32.png) [@noambard](https://discourse.julialang.org/u/noambard)\
**Post date:** [August 9, 2018, 5:11am UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061/1 "2018-08-09T05:11:50Z")

</div>

Hi,

At my local place of employment we work behind a firewall and have to create local repositories for all the languages we use (CRAN, Pypi, etc.)

I’ve been trying to understand how to do that exact thing for julia with Pkg3, but have not been able to find a clear step-by-step algorithm.

Can anyone suggest such a guide, or perhaps write a short one ad-hoc?

The end result would need to be seamless. That is, using “Pkg add X” should install X from the local repo with no further intervention.

---

<div class="post-metadata">

**Author:** ![ohadle](https://avatars.discourse-cdn.com/v4/letter/o/7cd45c/32.png) [@ohadle](https://discourse.julialang.org/u/ohadle)\
**Post date:** [August 21, 2018, 7:12am UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061/2 "2018-08-21T07:12:14Z")

</div>

Same here! Any hints on how to set up Julia + packages behind a firewall would be great.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [August 21, 2018, 7:27am UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061/3 "2018-08-21T07:27:32Z")

</div>

I’ve poked around a bit and it seems like a registry is just a directory in `.julia/registries` with a `Registry.toml`. Removing/renaming that file makes the package manager no longer recognise the base registry. You can take a look at its [repo](https://github.com/JuliaRegistries/General) to get a feel for how `Registry.toml` works. The gist of it seems to be a key value store of `uuid = { name = <name>, path = <relative to Registry.toml>}` with some more info about the package versions and its dependencies in those paths. It’s heavily interconnected with METADATA.jl at the moment, so it might be best to wait until we’ve transitioned to the new Package tracking mechanism.

---

<div class="post-metadata">

**Author:** ![Phillip\_Sutton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phillip_sutton/32/7603_2.png) [@Phillip\_Sutton](https://discourse.julialang.org/u/Phillip_Sutton)\
**Post date:** [August 20, 2019, 7:43pm UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061/4 "2019-08-20T19:43:21Z")

</div>

Does anyone have a solid “how to” on this now that we have some lead time with 1.0 and the new Pkg system.

---

<div class="post-metadata">

**Author:** ![hendri54](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hendri54/32/9621_2.png) [@hendri54](https://discourse.julialang.org/u/hendri54)\
**Post date:** [August 20, 2019, 8:42pm UTC](https://discourse.julialang.org/t/help-with-creating-a-local-repo/13061/5 "2019-08-20T20:42:27Z")

</div>

You may find this [post](https://discourse.julialang.org/t/creating-a-registry/12094) from last year useful. An example registry is [here](https://github.com/fredrikekre/Registry).

I found that it’s very easy to end up with TOML parser errors that are regrettably hard to parse.
