Are there any workarounds for libraries with the same name?

I have two dependencies which pull in different libraries for UUID’s. I’ve tried picking one of these with override: true in my mix.exs, but I think this would just override different versions of the same package, not different packages with overlapping modules.

1.193 * using config/runtime.exs to configure the release at runtime
1.615 ** (Mix) Duplicated modules: 
1.615   'Elixir.UUIDv7' specified in uuid_v7 and uuidv7

Is there any way around this? My current plan is to fork one of the dependencies and move it to the other UUID lib.

Thanks!

There is no workaround as there is only one module namespace.

5 Likes

Given that UUIDv7 is now fully standardized and also (finally) coming to Postgres, what should really happen is that it should be added to Ecto and then the community can standardize on that. A proper implementation on top of Ecto.UUID is like 3 lines of code so it’s not something we really need 10 different libraries for!

3 Likes

As long as it has a different name, that would be fantastic. I don’t want a third set of collisions to avoid :sweat_smile: