Avatar ·

如何正确更新Go中的第三方包:新手指南

大家好!我刚开始学习Go,遇到了更新第三方包的问题。文档里提到了`go get -u`,但我不确定自己做得是否正确。 我有一个项目,使用了`github.com/gin-gonic/gin`包来搭建web服务器。我通过`go get github.com/gin-gonic/gin`安装了它。现在我想把它更新到最新版本,因为旧版本有一个bug。我尝试执行了`go get -u github.com/gin-gonic/gin`,但之后代码中的一些功能无法正常工作了——可能是因为API发生了变化。 问题:如何正确更新包,以免破坏项目?是需要一次性更新所有依赖,还是只更新特定的?如果出问题了,如何回滚更新?更新后`go.mod`和`go.sum`该怎么处理? 以下是我的`go.mod`示例: ``` module myproject go 1.21 require ( github.com/gin-gonic/gin v1.7.7 github.com/go-sql-driver/mysql v1.6.0 ) ``` 非常感谢详细的解答!