# Nice workflows for using and developing in Julia 1.9+

**URL:** <https://discourse.julialang.org/t/nice-workflows-for-using-and-developing-in-julia-1-9/96017>\
**Category:** General Usage\
**Tags:** tutorials\
**Created:** [March 13, 2023, 5:48pm UTC](https://discourse.julialang.org/t/nice-workflows-for-using-and-developing-in-julia-1-9/96017 "2023-03-13T17:48:17Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [March 17, 2023, 2:33pm UTC](https://discourse.julialang.org/t/nice-workflows-for-using-and-developing-in-julia-1-9/96017/15 "2023-03-17T14:33:49Z")

</div>

**EDIT** : I am using “shared environment” wrong. I was thinking of environment stacking.

> [@Barget](#):
>
> I’ve check the content of the `Project.toml` and `Manifest.toml` files and they look regular.

See [Shared environments](https://discourse.julialang.org/t/shared-environments/35999)

Basically, when you use the package manager to add/remove packages, it resolves with respect to the current environment, with no regards to the shared environments that might be visible. This is really for the best, otherwise things would become complicated.

But, as a result, when you `using SomePackageFromSharedEnv` (eg. Plots) that depends on `SomePackageInCurrentEnvAndSharedEnv` (eg. a common package like MacroTools), it will load the Plot’s version from the shared-env, but MacroTool’s version from the current env. There’s no guarantee that those two packages are compatible.

Long story short, shared envs are completely safe for dependency-less packages (eg. BenchmarkTools), but I wouldn’t want to rely on them for more complex packages, because it’s asking for trouble. Use dev environments for that.

---

_[View the full topic](https://discourse.julialang.org/t/nice-workflows-for-using-and-developing-in-julia-1-9/96017)._
