# Best Practice for generating long term packages

**URL:** <https://discourse.julialang.org/t/best-practice-for-generating-long-term-packages/72853>\
**Category:** New to Julia\
**Tags:** question, package, workflow\
**Created:** [December 9, 2021, 8:05pm UTC](https://discourse.julialang.org/t/best-practice-for-generating-long-term-packages/72853 "2021-12-09T20:05:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![AronT](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aront/32/24890_2.png) [@AronT](https://discourse.julialang.org/u/AronT)\
**Post date:** [December 9, 2021, 8:05pm UTC](https://discourse.julialang.org/t/best-practice-for-generating-long-term-packages/72853/1 "2021-12-09T20:05:57Z")

</div>

In the Julia documentation it recommends that when creating long term modules, you should use `PkgTemplates` to generate a new package (instead of `Pkg.generate`) . The template generate package then gets stored in the `.julia/dev` directory.

In reading the documentation, it seemed to imply that the `dev` directory is in the `LOAD_PATH` and next time you come in, all you need to do is `using MyPackage`. However, on testing this, that is obviously not the case. I presume I can add that directory to the `LOAD_PATH` using `startup.jl` but everywhere on stack exchange, people say “Don’t touch that!!!”

So are people basically recommending “manually push the package when you need it, rather than have all your development packages loaded every time you start a REPL?” It seems convenient to add it to the `LOAD_PATH` so what is the concern?

On a related note, when I add a package to the environment I get this warning:

```julia
 Warning: The active manifest file is an older format with no julia version entry. Dependencies may have been resolved with a different julia version.

```

Is this because `PkgTemplates` has not yet been updated for 1.7?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [December 9, 2021, 9:16pm UTC](https://discourse.julialang.org/t/best-practice-for-generating-long-term-packages/72853/2 "2021-12-09T21:16:12Z")

</div>

> [@AronT](#):
>
> In reading the documentation, it seemed to imply that the `dev` directory is in the `LOAD_PATH` and next time you come in, all you need to do is `using MyPackage` . However, on testing this, that is obviously not the case.

You have to type `dev MyPackage` at the `pkg>` prompt.

---

<div class="post-metadata">

**Author:** ![AronT](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aront/32/24890_2.png) [@AronT](https://discourse.julialang.org/u/AronT)\
**Post date:** [December 10, 2021, 9:02am UTC](https://discourse.julialang.org/t/best-practice-for-generating-long-term-packages/72853/3 "2021-12-10T09:02:07Z")

</div>

Nice! Julia package and dependency management are such a pleasure to use, so of course there is a simple way to do this :).

Thanks for the tip @stevengj
