SublimeText 3 / GoSublime是否有某种类型的Go
导入包缓存?如果是这样,我该如何按需清除它?
我问,因为在编写Github源代码控制下的自定义包时,它一直有效,直到我重构一个func或struct。然后,回到我的主应用程序(我导入此包的位置),当我开始使用新方法时,它会像圣诞树一样亮起。
GoSublime(或GoLint?)没有获取重构的func更改,一切都显示为错误。但是,我可以转到提示并运行go build
和go 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正在缓存导入的架构/包详细信息。我该如何清除?
谢谢!
答案 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]
- 如果包是本地的(例如在开发中)。所以,这是我的环境的答案,因为我做了大量的离线开发(通勤)。