如何强制 Windows godoc 在 golang 的本地网络服务器上更新私有包文档?

How to force Windows godoc to update private package documentation on local webserver in golang?

当 运行 Windows 上的本地 godoc 网络服务器时,如何强制 godoc 更新我的私有包文档?

运行 命令:"godoc -http :6060" on Windows 不会更新私有包中的新 godoc 注释。当我第一次 运行 该命令时,它得到了已经存在但自终止并重新启动该命令以来尚未更新的注释。是否有缓存或我可以清除的东西?

我在任何地方都找不到关于此的任何信息。有一个非常古老的 github 问题(显然已修复)由于年龄而被冻结并处理当前(和我自己的)go1.8 [=22] 的 godoc 中不存在的 -sync 选项=] 安装:https://github.com/golang/go/issues/3273

我在 Linux 上试过这个,当我终止并重新启动 "godoc -http :6060" 命令时它会立即更新。

从技术上讲,这不是与 Go 相关的问题,而是与文件夹内容更改时命令的执行更相关。

有一些针对标准 HTTP Go 程序的解决方案——os那些拥有路由器并在特定端口上侦听的程序——但对于 GoDoc 来说没有太多。这是因为 os 依赖模型,其中 OS 需要有一种方法来检测和侦听目录中的更改。

也许 something from here 可以帮助您,但它需要一些 bash 脚本——如果您使用 Windows and/or,这可能不是一个选项没有 Bash.

对于 Go HTTP 项目,有 CodeGangsta's Gin package and Pilu's Fresh。两者都很好用!

Patrick 的回答为我指明了正确的方向。解决方案是将整个包文件夹移动到另一个文件夹,然后再次 运行 "godoc -http :6060" 命令强制更新。

对于仅创建一个 godoc,这工作正常。如果不更改导入或将文件夹移回,您实际上无法构建任何东西。

奇怪的是,执行此操作并将其移回后,godoc 现在无需移动包文件夹即可识别我的更新。