godependency-managementpackage-managersgo-modulesgodeps

How to use go module as dependency in go dep project?


I have Go dep project. I want to use go module as dependency. For example. I need this one https://github.com/pion/webrtc.

So, I try to declare the dependency like this, in Gopkg.toml:

[[constraint]]
  name = "github.com/pion/webrtc"
  revision = "6a0b7020b1724dcb302ddfadab0c80fabc144c97"

When I do dep ensure, I got errors:

Solving failure: No versions of github.com/pion/webrtc met constraints:
        6a0b7020b1724dcb302ddfadab0c80fabc144c97: "github.com/pion/webrtc" imports "github.com/pion/webrtc/v2/pkg/rtcerr", which con
tains malformed code: no package exists at "github.com/pion/webrtc/v2/pkg/rtcerr"
        v2.0.14: Could not introduce github.com/pion/webrtc@v2.0.14, as it is not allowed by constraint 6a0b7020b1724dcb302ddfadab0c
80fabc144c97 from project ***.
        v2.0.13: Could not introduce github.com/pion/webrtc@v2.0.13, as it is not allowed by constraint 6a0b7020b1724dcb302ddfadab0c
80fabc144c97 from project ***.

It seems, that the problem is connected with 2 version of library. When it was 1, everything works fine.


Solution

  • Thanks for using Pion :)

    We had the same issue opened on Pion WebRTC issue tracker. There is a PR to fix dep for this case.

    If possible I would switch to modules though, but in the meantime hopefully using this patched version of dep should help!