【发布时间】:2018-08-18 17:02:40
【问题描述】:
我正在使用 go1.11rc1 进行旋转,我注意到的第一件事是 goland 不识别进口。
goland version announcement 说:“支持开箱即用的 Go 模块(以前称为 vgo)”
有人知道如何解决这个问题吗?
问题:
- 诸如“github.com/urfave/cli”之类的包为红色,悬停文本显示:“无法解析目录...”
- “app := cli.NewApp()”中的“NewApp”等导入包项目为红色,悬停文本显示:“未解析的引用...”
重现步骤:
- 安装go1.11rc1:删除当前安装,安装1.11rc1,检查版本。
- 在go路径外新建项目目录:
mkdir pjg && cd pjg - 创建
go.mod文件:go mod init github.com/stevetarver/pjg - 在项目中添加一个包:
go get github.com/urfave/cli
go.mod 文件现在看起来像:
module github.com/stevetarver/pjg/v1
require github.com/urfave/cli v1.20.0 // indirect
创建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)
}
}
在 goland 中查看 main.go,并将鼠标悬停在红色文本上以查看问题。
- 模组包存储在
$GOPATH/pkg/mod/ - goland 版本:2018.2.1
- go 版本:go1.11rc1 darwin/amd64
注意事项:
-
$GOPATH设置正确 -go get将包放在正确的位置,env 中的 GOPATH 匹配 goland 偏好。 - 将 goland 偏好设置 Go -> GOPATH -> 模块 GOPATH 设置为
/Users/starver/code/go/pkg/mod无法解决此问题。
【问题讨论】: