4

SublimeText 3 / GoSublime 是否有某种类型的Go导入包缓存?如果是这样,我如何按需清除它?

我问是因为在编写受 Github 源代码控制的自定义包时,它可以工作,直到我重构一个 func 或 struct。然后,回到我的主应用程序(我导入这个包的地方),当我开始使用新方法时,它会像圣诞树一样亮起。

GoSublime(或 GoLint?)不接受重构的 func 更改,并且所有内容都显示为错误。但是,我可以进入提示符并运行go buildgo test一切正常 - Go 工具工作正常。

我唯一能确定的是大约 24 小时后它似乎起作用了?

OSX 10.9
SublimeText 3
GoSublime
sublimelint **<- DO I NEED THIS?  SAYS IT IS FOR HIGHLIGHTING**
SublimeLinter
SublimeLinter-contrib-GoLint
SublimeLinter-contril-GoType
(and a few other packages)

我是 SublimeText 新手;但是,我相信我已经将所有东西都连接起来并安装了所需的软件包。Sublime 的控制台在 Linters 中没有显示错误(说它找到了 gotype 和 golint)。

SublimeLinter: gotype activated: /Users/user1/go/bin/gotype SublimeLinter: golint activated: /Users/user1/go/bin/golint

东西在包装本身内工作得很好。这不仅仅是我的远程应用程序。在我的包中,我有一个“/examples”测试目录,它甚至没有获取根包中的更改。但同样,实际的Go工具使用新的重构代码执行、构建和运行所有测试。

缓存导入的架构/包详细信息的是 GoSublime/GoLint。我该如何清除?

谢谢!

4

1 回答 1

4

在 5 个月没有答案后回来回答自己这个问题......

@dave-cheney 本人回复了我在此主题上发布的 Google 网上论坛消息:

https://groups.google.com/forum/#!topic/golang-nuts/N3xB6PGs3wo

解析度:

  • 该代码,即使是其他项目的一次性工具,也必须存在于您的$GOPATH/src. 我已将所有项目更改为$GOPATH/src/privatedomain/etc,并更新了构建脚本以将可执行文件部署到其他存储库(并提交它们)。学习使用工具,而不是与工具抗争。:)

  • 您需要go install [package]在这些本地开发的包上运行,以使它们的更改立即显示在您当前的 Sublime 项目中。如果您不运行 go install ,那么仍然会发生一整天的延迟,这些更改会在 Sublime 中的其他工具/包中获取。“去安装”每次都能解决这个问题,所以没什么大不了的(*见下一个要点)。

  • 在 Sublime 中,我经常运行go install [package]然后关闭/重新打开我正在处理的当前文件以获取更改。

go install [package]请注意,如果包是本地的(例如在开发中),您不必在线。所以,这是我的环境的答案,因为我做了很多离线开发(通勤)。

于 2015-02-17T15:37:56.097 回答