我正在试用go1.11rc1,而我注意到的第一件事是goland无法识别进口。
该的Goland版本公告说:“对围棋的支持模块箱(前身为VGO)的去”
有人知道怎么修这个东西吗?
问题:
重现步骤:
mkdir pjg && cd pjggo.mod文件:go mod init github.com/stevetarver/pjggo get github.com/urfave/cligo.mod 文件现在看起来像:
module github.com/stevetarver/pjg/v1
require github.com/urfave/cli v1.20.0 // indirect
Run Code Online (Sandbox Code Playgroud)
创建main.go:
package main
import (
"fmt"
"log"
"os"
"github.com/urfave/cli"
)
func main() {
app := cli.NewApp()
app.Name = "boom"
app.Usage = "make an explosive entrance"
app.Action = func(c *cli.Context) error {
fmt.Println("boom! I say!")
return nil
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}
Run Code Online (Sandbox Code Playgroud)
main.go在goland中查看,并将鼠标悬停在红色文本上可以查看问题。
$GOPATH/pkg/mod/笔记:
$GOPATH设置正确- go get将包放在正确的位置,env中的GOPATH匹配goland首选项。/Users/starver/code/go/pkg/mod不能解决此问题。GoLand的最新版本实现了对vgo和go模块的支持,但尚未赶上go1.11rc1语法更改。以防万一在过渡期间对某人有帮助,我将记录我尝试过的事情以及他们的问题和成功。
TL; DR:不要将您的项目放到内部$GOPATH并以“ Go Module(vgo)”类型创建新项目,或者为现有项目启用该设置。
将go1.11rc1安装为您的global以后go,go modGoLand中的项目有三个基本用例...
$GOPATH:$GOPATH:$GOPATH/src/github.com/stevetarver/insidegopathmain.go一个文件,该文件引用您的中不存在的包$GOPATH。使用go get通过这样的Goland vgo如在GIF描述在这里:
go: go mod -sync is now go mod tidy使用go getGoLand嵌入式终端方式:
go get 您的进口。
? go get github.com/urfave/cli
go get: warning: modules disabled by GO111MODULE=auto in GOPATH/src;
ignoring go.mod;
see 'go help modules'
让我们打开该变量,然后重试:
GO111MODULE=on:打开“首选项”->“外观和行为”->“路径变量”,然后添加GO111MODULE=on。env | grep GO111MODULE 在终端什么都不产生。您可以GO111MODULE=on在shell初始化脚本中进行设置,但这会破坏所有尚未使用go模块的项目。
您还可以在每个go命令前加上env var:前缀,export GO111MODULE=on; go get github.com/urfave/cli或go在您的项目目录中创建一个shell脚本包装器来完成此任务。
这些都不是真正可行的解决方案,但是go模块的部分重点是从可怕的go工作区中逃脱,因此继续阅读会变得更好
$GOPATH:$GOPATHgo.mod:生成的文件包含module "outsidegopath",但是我们需要这样的文件module github.com/stevetarver/outsidegopath。这有点奇怪-GoLand将尝试重写go.mod并删除路径的某些部分。重复几次,它将停止尝试。main.go文件。如果通过ide作为go文件创建此文件,它将包含package outsidegopath。修正为package main。go get github.com/urfave/cli其提取到$GOPATH/pkg/mod预期的状态。go mod为现有的新项目添加支持:事实证明这非常简单-在GoLand中使用go模块的最佳方法:
go.mod的go mod init module-name。| 归档时间: |
|
| 查看次数: |
15040 次 |
| 最近记录: |