GoSublime / GoLint缓存导入包?

时间:2014-09-07 03:34:30

标签: sublimetext3 sublimelinter gosublime golint

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:4)

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

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

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

分辨率:

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

  • 您需要在这些本地开发的软件包上运行go install [package],以便更改在您当前的Sublime项目中立即显示。如果您没有运行安装,那么在Sublime内的其他工具/软件包中获取更改时,仍然会发生长达一天的延迟。 &#34;去安装&#34;每次都努力解决这个问题,所以没什么大不了的(*见下一个要点)。

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

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