是否可以在不删除go.work文件的情况下关闭go工作区?

9rygscc1  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(274)

我一定是漏掉了什么。看起来go workspaces的重点是启用本地开发,而不会用“replace”来破坏go.mod文件,这看起来很棒。但是如果存在go.work文件,任何go命令都将静默地使用该文件中定义的本地dev相关依赖项。默认的GOWORKenv var不能被编辑,因此该文件的存在足以让任何命令运行时悄悄地使用不同于go.mod文件的依赖项。这看起来像是一个巨大的脚炮,如果有人忘记在GOWORK=off的情况下运行所有命令或删除www.example.com文件,可以将本地开发更改作为软件包的一部分发布go.work。为什么在开发模式下运行是默认的?有没有办法在不删除文件的情况下关闭它?

qnzebej0

qnzebej01#

例如,在运行go test的同时存在新的源文件(在它们被添加到git之前)。这两种情况都可以通过以下方式解决:
在新的计算机(或新的容器)上运行持续集成(CI)作业。这使您的释放过程免于整个类别的中毒/污染风险。

相关问题