首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang -在SublimeText2中找不到包

Golang -在SublimeText2中找不到包
EN

Stack Overflow用户
提问于 2012-12-11 23:40:26
回答 2查看 2.3K关注 0票数 3

当我试图用包.go执行我的newmath脚本时,我会在SublimeText2中得到以下错误。

代码语言:javascript
复制
"test.go:5:2: import "newmath": cannot find package"

是我在SublimeText2中的构建系统

代码语言:javascript
复制
{
"cmd": ["go","run", "${file}"],
"working_dir": "${file_path}",
"selector": "source.go, source.g"
}

但是,当我在终端中执行我的脚本时,go编译器可以找到包,并且是成功地执行了。我已经注意到GOPATH在重新启动后或经过一段时间后就会重新启动:/

My Go env:

代码语言:javascript
复制
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/daggi/gocode/"
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CGO_ENABLED="1"

我认为这是SublimeText2的路径/环境问题,但我不知道。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-12 02:50:47

构建系统似乎不共享GoSublime设置env,也不共享您自己的shell env。所以你必须特别设置它:

构建系统

代码语言:javascript
复制
{
    "cmd": ["go","run", "${file}"],
    "working_dir": "${file_path}",
    "selector": "source.go, source.g",
    "path": "/usr/lib/go/bin:$PATH",
    "env": {
        "GOPATH": "$HOME/gocode/",
        "GOROOT": "/usr/lib/go",
        "PATH": "/usr/lib/go/bin:$PATH"
    }
}

您也可以切换您的GOPATH设置使用${project}代替显式GOPATH,如果您的工作方式是您的崇高项目是您的GOPATH。

票数 2
EN

Stack Overflow用户

发布于 2012-12-12 02:02:30

可能与这个GoSublime问题有关,尽管您似乎没有使用GoSublime:

这在OS和Ubuntu上都有报道。问题似乎是shell变量没有传递给GUI(在本例中是ST2),这超出了GoSublime。

https://github.com/DisposaBoy/GoSublime/issues/71

在“崇高文本2用户设置”中,您可以尝试设置您的环境变量(我说这并不确定"env“条目是由GoSublime或ST2专门读取的,所以如果它不想安装和使用GoSublime,这可能有用,也可能不起作用,这是非常棒的海事组织):

代码语言:javascript
复制
  "env": {
    "GOROOT": "/usr/lib/go",
    "GOPATH": "/home/daggi/gocode"
  }

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13830377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档