0

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

在 Windows 上运行命令:“godoc -http :6060”不会更新私有包中的新 godoc 注释。当我第一次运行命令时,它得到了已经存在但自从杀死并重新启动命令后没有更新的注释。是否有缓存或我可以清除的东西?

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

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

4

2 回答 2

0

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

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

也许这里的一些东西可以帮助你,但它需要一些 bash 脚本——如果你在 Windows 上和/或没有 Bash,这可能不是一个选项。

对于 Go HTTP 项目,有CodeGangsta 的 Gin 包和Pilu的 Fresh。两者都很好用!

于 2017-04-14T20:44:29.313 回答
0

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

对于只是创建一个 godoc,这很好用。如果不更改导入或将文件夹移回,您实际上无法构建任何内容。

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

于 2017-04-18T16:09:25.610 回答