Skip to content

Package version dependency issue #3273

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
towithyou opened this issue Apr 7, 2024 · 4 comments
Closed

Package version dependency issue #3273

towithyou opened this issue Apr 7, 2024 · 4 comments
Labels
question Further information is requested

Comments

@towithyou
Copy link

Environment:

  • Kratos version (use kratos -v): kratos version v2.6.2
  • Go version (use go version): go version go1.19 darwin/arm64
  • OS (e.g: cat /etc/os-release): mac m2 arm64
  • Others:
@towithyou towithyou added the bug Something isn't working label Apr 7, 2024
@kratos-ci-bot kratos-ci-bot changed the title 包版本依赖问题 Package version dependency issue Apr 7, 2024
Copy link

dosubot bot commented Apr 7, 2024

Hey @towithyou, long time no see! 🚀 Looks like the dependency gremlins are at it again, huh? 😄 I'm diving into your issue as we speak and will get back to you with a solution pronto!

@towithyou
Copy link
Author

towithyou commented Apr 7, 2024

我们的服务调用 Google gcp api 时,他的包依赖 google.golang.org/[email protected], kratos 依赖 google.golang.org/[email protected]. 导致包引用冲突

go mod tidy
go: finding module for package google.golang.org/grpc/test/grpc_testing
go: downloading google.golang.org/grpc v1.63.0
repo.xxxxxx.net/devops/a-cloud/workflow/controller imports
repo.xxxxxx.net/devops/a-cloud/pkg/middleware imports
github.com/go-kratos/kratos/v2/errors tested by
github.com/go-kratos/kratos/v2/errors.test imports
google.golang.org/grpc/test/grpc_testing: module google.golang.org/grpc@latest found (v1.63.0), but does not contain package google.golang.org/grpc/test/grpc_testing

Copy link

dosubot bot commented Apr 7, 2024

To resolve the package reference conflict between Kratos v2.6.2, which depends on google.golang.org/[email protected], and your service's requirement for google.golang.org/[email protected], you can use the replace directive in your go.mod file to override the version of google.golang.org/grpc that Kratos uses. This will force your project to use google.golang.org/[email protected] globally, including any dependencies that require google.golang.org/grpc.

Here's how you can do it:

  1. Open your go.mod file.
  2. Add the replace directive to specify that google.golang.org/[email protected] should be replaced with google.golang.org/[email protected].

Your go.mod file should include something like this:

module github.com/go-kratos/kratos/v2

go 1.20

require (
    // Your other dependencies...
)

replace google.golang.org/grpc v1.46.2 => google.golang.org/grpc v1.63.0

After adding the replace directive, run go mod tidy to clean up the dependencies and ensure that there are no conflicts. This should resolve the version conflict and allow your project to use google.golang.org/[email protected] successfully.

Note: Using the replace directive is a powerful tool but should be used with caution. It can lead to unexpected behavior if not managed carefully, especially in larger projects with multiple dependencies. Always ensure that the replaced version is compatible with all parts of your project.

As for the specific features or functionalities that Kratos v2.6.2 utilizes from google.golang.org/[email protected], it includes client and server API generation, context usage, error handling, server and client streaming, interceptors, service registration, message sending and receiving in streams, and compile-time assertion for gRPC compatibility. You can find more details in the helloworld_grpc.pb.go file.

Regarding any known compatibility issues between google.golang.org/[email protected] and google.golang.org/[email protected] that could affect Kratos v2.6.2, I wasn't able to find any specific information in the repository. However, it's always a good idea to check the release notes and changelogs of the google.golang.org/grpc package for any breaking changes or deprecations that might affect your project.

I hope this helps! If you have any other questions or need further clarification, feel free to ask.

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

@shenqidebaozi shenqidebaozi added question Further information is requested and removed bug Something isn't working labels Apr 20, 2024
@shenqidebaozi
Copy link
Member

Google has removed this package and can upgrade to the Kratos version
#2824

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants