launchdarkly / erlang-server-sdk

LaunchDarkly Server-Side SDK for Erlang/Elixir
Other
33 stars 37 forks source link

Dependencies conflict with Phx 1.15.10/OTP24 #41

Closed supersimple closed 3 years ago

supersimple commented 3 years ago

Is this a support request? This issue tracker is maintained by LaunchDarkly SDK developers and is intended for feedback on the SDK code. If you're not sure whether the problem you are having is specifically related to the SDK, or to the LaunchDarkly service overall, it may be more appropriate to contact the LaunchDarkly support team; they can help to investigate the problem and will consult the SDK team if necessary. You can submit a support request by going here or by emailing support@launchdarkly.com.

Note that issues filed on this issue tracker are publicly accessible. Do not provide any private account information on your issues. If your problem is specific to your account, you should submit a support request as described above.

Describe the bug A clear and concise description of what the bug is. When using phx 1.5.10/OTP 24 the transitive dependencies fail to resolve

To reproduce Steps to reproduce the behavior. Use Phoenix 1.5.10 Add launchdarjly_server_sdk to deps run mix.deps get

Resolving Hex dependencies... fish: “mix deps.get” terminated by signal SIGKILL (Forced quit)

Now, add gun explicitly and override: {:gun, "2.0.0-rc.2"}

run mix.deps get

Failed to use "gun" (version 2.0.0-rc.2) because shotgun (version 0.5.0) requires 1.3.1 mix.exs specifies 2.0.0-rc.2

solution: add {:cowboy, "~> 2.8.0", override: true}, {:cowlib, "~> 2.8.0", override: true}, to the mix.exs file.

These are a few minor versions behind.

Expected behavior A clear and concise description of what you expected to happen. Adding the LD dependency to a phx 1.5.10 app will resolve correctly

Logs If applicable, add any log output related to your problem.

SDK version The version of this SDK that you are using. 1.0.1

Language version, developer tools For instance, Go 1.11 or Ruby 2.5.3. If you are using a language that requires a separate compiler, such as C, please include the name and version of the compiler too. Erlang OTP24

OS/platform For instance, Ubuntu 16.04, Windows 10, or Android 4.0.3. If your code is running in a browser, please also include the browser type and version. Ubuntu 20.04

Additional context Add any other context about the problem here.

zurab-darkly commented 3 years ago

Hello @supersimple, thank you for creating the issue. I have updated our hello-phoenix repo with the latest Phoenix version (1.5.12) that includes the only override needed - it is for cowlib due to difference in minor versions between gun and cowboy.

Let us know if this doesn't work for you.

supersimple commented 3 years ago

Thanks @zurab-darkly I did end up overriding gun {:gun, "~> 2.0.0-rc.2", override: true}, earlier versions are pinned to the patch level and conflict.

zurab-darkly commented 3 years ago

Hi @supersimple, just want to advise you that we haven't been testing this SDK with gun 2.0 RC. Since it is a major version upgrade, it wouldn't be surprising if there were compatibility issues. You still have an option to use the highest minor version of cowlib that cowboy wants, which should be backward compatible for gun 1.3, as in the example I linked.

I'm going to close the issue, but feel free to let us know if you find any issues with the recommended approach.