# Multiple Module Packages and Project Environment

**URL:** <https://discourse.julialang.org/t/multiple-module-packages-and-project-environment/58079>\
**Category:** General Usage\
**Created:** [March 27, 2021, 2:17pm UTC](https://discourse.julialang.org/t/multiple-module-packages-and-project-environment/58079 "2021-03-27T14:17:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gideonsimpson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gideonsimpson/32/1928_2.png) [@gideonsimpson](https://discourse.julialang.org/u/gideonsimpson)\
**Post date:** [March 27, 2021, 2:17pm UTC](https://discourse.julialang.org/t/multiple-module-packages-and-project-environment/58079/1 "2021-03-27T14:17:00Z")

</div>

I’ve seen a few other posts on this one, but they don’t seem to quite address the question I have. I have a project I’m working on, and there are several logically distinct modules associated with it, `MyModuleA.jl`, `MyModuleB.jl`, etc. I would like to be able to create a single project environment that would give me access to all of them. If I follow this suggested directory structure,[https://docs.julialang.org/en/v1/manual/code-loading/#Package-directories-1](https://docs.julialang.org/en/v1/manual/code-loading/#Package-directories-1), where I have a `MyProject/MyModuleA.jl/src` and a `MyProject/MyModuleB.jl/src`, it will work, but I seem to need to update my `LOAD_PATH` to include `MyProject` so that it sees all of these modules.

If it that’s the only solution, I’m ok with that, but I was wondering if there were some way to have a single `Project.toml` file that would handle all of this for me. I would eventually like to be able to share/distribute this work so that everything can be handled with a `pkg> add MyProject`.

If it’s helpful, I’ve migrated to 1.6.

---

<div class="post-metadata">

**Author:** ![guoyongzhi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guoyongzhi/32/28306_2.png) [@guoyongzhi](https://discourse.julialang.org/u/guoyongzhi)\
**Post date:** [March 27, 2021, 3:33pm UTC](https://discourse.julialang.org/t/multiple-module-packages-and-project-environment/58079/2 "2021-03-27T15:33:41Z")

</div>

I will register both A and B to the Pkg. Or, I will create a TopModuleC, and `include(MyModuleA.jl)` and `using .MyModuleA`. The same to MyModuleB.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [March 27, 2021, 4:36pm UTC](https://discourse.julialang.org/t/multiple-module-packages-and-project-environment/58079/3 "2021-03-27T16:36:12Z")

</div>

Ideally dependencies like this are handled by a registry, but you can run your own too:

[https://github.com/GunnarFarneback/LocalRegistry.jl](https://github.com/GunnarFarneback/LocalRegistry.jl)
