> For the complete documentation index, see [llms.txt](https://docs.onepub.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onepub.dev/fundamentals/naming-packages.md).

# Naming Packages

OnePub allows you to name your private package using a name that is already taken by a public package on pub.dev.

We however generally don't recommend this as it may cause confusion at a later stage if you need to use the same named package from pub.dev.

If you are using the OnePub tools (`onepub pub private` `onepub pub add <dep>`) then there is no issue using existing public names as every package is explicitly referenced with the OnePub URL.

## PUB\_HOST\_URL

**not recommended!**

Dart supports configuring your private Package repository by setting an environment variable PUB\_HOST\_URL.

When you set the PUB\_HOST\_URL environment variable then every `dart pub` command will be sent via the OnePub repository.

This has a couple of consequences.

1\) OnePub will see every package you depend on. Probably not a big deal, but if you are particularly sensitive about this information then it's not desirable

2\) If you use any package name that is already used by a package on pub.dev then you will no longer be able to access the public package of that name. Remember that whilst your package name isn't used today someone may publish a package to pub.dev at a later date.

To avoid these types of name conflicts, we recommend that you prefix your package names with your reverse domain name.

e.g. dev.onepub.test
