Golang在Windows系统下初学遇到的问题

Golang在Windows系统下初学遇到的问题 在安装完成后遇到启动困难。按照安装页面上的步骤操作:

  • 使用Windows安装程序进行安装
  • 将GOPATH设置为C:\Users\Me\OneDrive\Documents\GitHub\go
  • 在go文件夹中创建了src文件
  • 使用教程中的示例代码创建了名为hello.go的文件(路径为~/src/hello/hello.go)
  • 在src\hello文件夹中运行"go build"命令

出现以下错误:

无法加载包:包hello:在以下任何位置都找不到包"hello": C:\Go\src\hello (来自$GOROOT) C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello (来自$GOPATH)

我是否还遗漏了什么?

当我输入go env时,看到GOROOT为C:\Go,GOPATH为C:\Users\Me\OneDrive\Documents\GitHub\go。我觉得这应该是正确的设置。

感谢您的帮助。


更多关于Golang在Windows系统下初学遇到的问题的实战教程也可以访问 https://www.itying.com/category-94-b0.html

7 回复

…请提供hello.go文件的内容


更多关于Golang在Windows系统下初学遇到的问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


package main

import "fmt"

func main() {
    fmt.Println("hello, you")
}

我会运行 go run hello.gogo install

func main() {
    fmt.Println("hello world")
}

请执行 dir C:\Users\Me\OneDrive\Documents\GitHub\go\srcdir C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello 并在此处显示输出结果?

目录:C:\Users\Me\OneDrive\Documents\GitHub\go\src

模式                最后写入时间          长度  名称
----                -------------        ------ ----
da---l        4/14/2018   2:16 PM            hello

目录:C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello

模式                最后写入时间          长度  名称
----                -------------        ------ ----
-a---l        4/14/2018   2:49 PM         182 hello.go

执行"go build"命令时出现以下错误:

无法加载包:包hello:在任何以下路径中找不到包"hello": C:\Go\src\hello (来自 $GOROOT) C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello (来自 $GOPATH)

执行"go run hello.go"命令时出现以下错误:

包main:在以下路径中找不到包".": C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello

最终我选择重新安装,并使用默认的go文件夹位置Users\Me\go,现在一切似乎都正常工作了。不知道为什么当GOPATH在不同位置时无法找到(可能是OneDrive同步导致的问题)。

看起来你的GOPATH设置和目录结构基本正确,但问题可能在于Go模块的使用方式。从Go 1.11开始,推荐使用Go模块而不是传统的GOPATH工作模式。

首先检查你的Go版本:

go version

如果是Go 1.11或更高版本,建议使用Go模块:

  1. 在项目目录中初始化模块:
cd C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello
go mod init hello

这会在hello目录下创建go.mod文件。

  1. 然后重新构建:
go build

或者,如果你希望继续使用GOPATH模式,确保你的目录结构完全正确:

你的hello.go文件应该位于:

C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello\hello.go

文件内容示例:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

然后在hello目录中运行:

cd C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello
go build

如果仍然遇到问题,检查OneDrive同步状态,有时候云存储可能导致路径问题。你可以尝试将GOPATH设置为本地目录而不是OneDrive路径:

set GOPATH=C:\Users\Me\go

然后重新创建目录结构并测试。

另外,检查你的hello.go文件是否实际存在且内容正确:

dir C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello
type C:\Users\Me\OneDrive\Documents\GitHub\go\src\hello\hello.go
回到顶部