gpt4 book ai didi

go - 如何配置 goland 识别 'mod' 包?

转载 作者:IT王子 更新时间:2023-10-29 01:25:44 25 4
gpt4 key购买 nike

我正在试用 go1.11rc1,我注意到的第一件事是 goland 不识别导入。

goland version announcement说:“开箱即用地支持 Go 模块(以前称为 vgo)”

有人知道如何解决这个问题吗?

问题:

  1. 像“github.com/urfave/cli”这样的包颜色为红色,悬停文本显示:“无法解析目录...”
  2. 在“app := cli.NewApp()”中导入的包项(如“NewApp”)显示为红色且悬停文本显示:“ Unresolved 引用...”

重现步骤:

  1. 安装 go1.11rc1:删除当前安装,安装 1.11rc1,检查版本。
  2. 在go路径外新建项目目录:mkdir pjg && cd pjg
  3. 创建一个 go.mod 文件:go mod init github.com/stevetarver/pjg
  4. 为项目添加包: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,将鼠标悬停在红色文本上可以看到问题。

  • mod包存放在$GOPATH/pkg/mod/
  • goland版本:2018.2.1
  • go版本:go1.11rc1 darwin/amd64

注意事项:

  • $GOPATH 设置正确 - go get 将包放在正确的位置,env 中的 GOPATH 匹配 goland 首选项。
  • 将 goland 首选项设置为 Go -> GOPATH -> Module GOPATH to /Users/starver/code/go/pkg/mod 没有解决这个问题。

最佳答案

this site 上的答案为我工作。基本上,通过以下方式在 GoLand 中启用 go 模块:

Make sure Go Modules integration is enabled in settings (Preferences / Settings | Go | Go Modules), and GOPATH indexing is disabled (Preferences / Settings | Go | GOPATH | Index entire GOPATH).

我一这样做,红色导入就消失了,一切正常。

关于go - 如何配置 goland 识别 'mod' 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51910862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com