# Package name conflicts

**URL:** <https://discourse.julialang.org/t/package-name-conflicts/40921>\
**Category:** General Usage\
**Tags:** pkg\
**Created:** [June 7, 2020, 10:56am UTC](https://discourse.julialang.org/t/package-name-conflicts/40921 "2020-06-07T10:56:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![heliosdrm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/heliosdrm/32/3851_2.png) [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)\
**Post date:** [June 7, 2020, 10:56am UTC](https://discourse.julialang.org/t/package-name-conflicts/40921/1 "2020-06-07T10:56:52Z")

</div>

A recent discussion in another thread made me wonder: what are the limitations of the support for duplicated package names, and the practical problems of their possible existence?

In the [documentation of `Pkg`](https://julialang.github.io/Pkg.jl/v1/toml-files/#Multiple-package-with-the-same-name-1) and in the [Julia manual](https://docs.julialang.org/en/v1.4/manual/code-loading/#Federation-of-packages-1) there are very good explanations and examples, about how the `Manifest.toml` may have different packages with the same name. In both cases, the examples are related to the existence of an indirect dependency, which shares name with another indirect or a direct dependency.

But is it possible to have two direct dependencies with the same name? `Pkg.add` allows to pass the uuid for disambiguation, and in `Project.toml` all deps are accompanied by the uuid, so technically it seems feasible. But then: how can you disambiguate `using` them?

Also, how are different name-alike packages dealt with by the package manager? In `.julia/packages`, package folders are identified by their name; and the same happens with the registries.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [June 7, 2020, 11:10am UTC](https://discourse.julialang.org/t/package-name-conflicts/40921/2 "2020-06-07T11:10:59Z")

</div>

> [@heliosdrm](#):
>
> But is it possible to have two direct dependencies with the same name?

Nope.

> [@heliosdrm](#):
>
> Also, how are different name-alike packages dealt with by the package manager? In `.julia/packages` , package folders are identified by their name; and the same happens with the registries.

In `.julia/packages` there are subdirectories which are hashes based on the git-tree-sha which is unique for each version.

For the registry, there is a uuid → path table in the top-level file `Registry.toml`.
