ninenines / cowboy

Small, fast, modern HTTP server for Erlang/OTP.

Home Page:https://ninenines.eu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dependency mismatch between cowboy and gun 2.0

polvalente opened this issue · comments

Currently, gun 2.0 depends on cowlib 2.12.0, but cowboy 2.9 depends on cowlib 2.11.
This makes it impossible for gun to be updated to 2.0 on an Elixir project that also depends on cowboy (elixir_grpc in this case).

Setting override: true is not an option because as a library, we cannot publish to Hex.pm with :override specified in the mix.exs file.

Could we get either an updated cowboy or a rollback on the requirement in gun?

If there was a way to publish cowboy 2.9.1 with the requirement relaxed to the equivalent of Mix's ~> 2.11 that would also be acceptable, but I do not know if that's a possibility in Rebar

I'm not using Rebar anyway. Right now I can't do what you're asking, the requirement in Gun is because it really requires this version of Cowlib. The ~> thing is not available either and I don't think that would include 2.12 anyway which Gun requires.

So your only option is to wait for a Cowboy update and not update Gun in the meantime I suppose, or see with the Hex people about removing some of their checks and restrictions which are a bit much IMO.

Out of curiosity which library is this?

Cowboy 2.10 has the same Cowlib as the most recent Gun. I do not expect to increase the Cowlib version for the next Cowboy update so I'll defer this to later.