# How do I share a script with multiple local dependencies?

**URL:** <https://discourse.julialang.org/t/how-do-i-share-a-script-with-multiple-local-dependencies/96810>\
**Category:** General Usage\
**Created:** [March 29, 2023, 10:23pm UTC](https://discourse.julialang.org/t/how-do-i-share-a-script-with-multiple-local-dependencies/96810 "2023-03-29T22:23:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![minetest2048](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/minetest2048/32/45961_2.png) [@minetest2048](https://discourse.julialang.org/u/minetest2048)\
**Post date:** [March 29, 2023, 10:23pm UTC](https://discourse.julialang.org/t/how-do-i-share-a-script-with-multiple-local-dependencies/96810/1 "2023-03-29T22:23:09Z")

</div>

I’m currently developing a script with a lot of dependencies that are locally edited, some in `.julia/dev`, some in the working directory of the script.

The problem is that if I just give my working directory with `Manifest.toml` and `Project.toml` to my colleague and ask him to activate the environment, it will most likely break because `Manifest.toml` have absolute paths to my modified dependencies instead of relative path.

What is the best way for me to share my script with all of the locally modified dependencies?

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [March 30, 2023, 3:21am UTC](https://discourse.julialang.org/t/how-do-i-share-a-script-with-multiple-local-dependencies/96810/2 "2023-03-30T03:21:20Z")

</div>

I’m a little confused what you’re asking for. You want to be able to share all of the locally edited dependencies wrapped up with the script so that it is portable anywhere? I think what you’re going to need is to [build a sysimage](https://docs.juliahub.com/PackageCompiler/MMV8C/1.2.7/index.html).

Or if you asking for a way to share all of the edited code as raw source code and keep all the dependency relationships intact, I’m not sure there is a solution to that. Probably better to track everything you are deving in Git(hub/lab) repo that everyone can access and then point your manifest at the repo, not your local folder.

---

<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:** [March 30, 2023, 12:41pm UTC](https://discourse.julialang.org/t/how-do-i-share-a-script-with-multiple-local-dependencies/96810/3 "2023-03-30T12:41:35Z")

</div>

`Manifest.toml` can contain relative paths. See

> <https://github.com/JuliaLang/Pkg.jl/issues/1214>
>
> It would be very advantageous to tell Manifest.toml to use a relative path inste…ad of a global for some cases, specifically for cases where the path to the package is a direct sub-path of the path of the \`Manifest\` file.
> 
> For example, I have a strcture like:
> \`\`\`
> Folder
> \- src/PackageA/src...
> \- Project.toml
> \- Manifest.toml
> \`\`\`
> I \`dev\` packageA but manifest saves the absolute path instead of relative to \`Folder\`. When I send my project folder to a colleague he cannot use \`PackageA\` anymore.
> 
> related with #867

Though this may not solve your problem if some of your packages live in `.julia/dev`.
