问题标签 [gopath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2279 浏览

go - Golang Module问题--包xxx/xxxx不在GOROOT中

所以这是我的目录:

这是 hello.go 的内容

这是 firstSample.go 的内容

这是我的 go.mod 的内容

当给它 cmd go run hello.go 时,终端出现如下:

D:\Users\eien_zheng\go\src\ppppppSample>go run hello.go hello.go:5:2: 包ppppppSample/newFolderOne不在GOROOT (C:\Go\src\ppppppSample\newFolderOne)

所以这是我的问题:

(由于我是golang新手,希望大家能理解和容忍我的一些误解)

根据我对 Go 模块的理解(可能是错误的),Go 模块的功能是让某种在线资源下载到 GOPATH/pkg/mod 目录下,而不是存在于 GOROOT 中。无论您的项目在哪个目录,如果您初始化 Go 模块,您的项目仍然可以从 GOPATH/pkg/mod 导入这些资源。但是!!,据我了解,它仍然可以使用包系统在项目目录周围导入包,同时通过 Go 模块系统导入在线资源。

当我为 hello.go 执行 (mod init) 时,它会失去该项目的 (基本包导入功能) 怎么办?

0 投票
1 回答
199 浏览

go - 在 Windows 上使用 go mod 安装 go buffalo 有困难

我对golang很陌生。我正在尝试使用 gomod。试图探索 go buffalo 框架。但是在安装时发现有点困难。

我做了什么:

  1. 我看到 buffalo 不再支持 go get ,因此切换到 go 模块。

  2. 创建了一个模块go mod init github.com/webbuffalotest

  3. go get -v github.com/gobuffalo/buffalo获取(在我有 go.mod 文件的同一目录上)

  4. go get -v github.com/mattn/go-sqlite3获取(在我有 go.mod 文件的同一目录上)

  5. go install github.com/gobuffalo/buffalo

  6. 我期待 %GOPATH%/bin 中有一个 buffalo.exe,这样我就可以将它添加到我的路径中,但没有找到。

我的问题是怎么了?exe是没有安装还是因为go mod而在其他地方。任何帮助将不胜感激。

go.mod 内容

我正在使用 Windows 10。我不愿意将包管理器安装为 scoop 或 choco 来安装 buffalo。谢谢你的耐心 :)

编辑:也尝试设置set GO111MODULE=on但没有用。

解决了:

我的错,我应该用go install github.com/gobuffalo/buffalo/buffalo而不是go install github.com/gobuffalo/buffalo

0 投票
1 回答
410 浏览

ubuntu - 找不到golang编译简单的应用程序模块(GOPATH?)

刚开始使用 go,当我尝试编译 hello.go 时,卡在了一个非常简单的应用程序上(从这里https://golang.org/doc/tutorial/call-module-code ):

环境是这样设置的(Ubuntu 20.04)

源代码https://github.com/myxit/golang-wtf

请帮忙,设置有什么问题?

0 投票
1 回答
2528 浏览

go - 有没有办法从另一个目录运行 Go 模块

我有以下项目结构,在GOPATH.

我想运行位于src目录中的 Go 模块代码。当我cd进入src目录和go run ./或go build .我的代码时,它工作得很好。

当我站在项目的根部时,我无法运行go run ./srcgo build ./src. 我收到以下错误。

重要的是我的源代码保留在此src目录中。run同样重要的是,我能够build从项目的根目录获取代码(例如,.env文件位于存储库的根目录)。

因此,我正在从我的项目的根目录中寻找一种方法runbuild我的代码。src

我尝试移动go.mod项目的根目录并运行并运行go run ./src,但这会导致其自身的问题:

  • go命令现在无法找到所有子包internalpkg
  • VSCode 现在丢失并且由于某些原因无法执行测试(主要是因为没有找到所有子包)。
0 投票
1 回答
164 浏览

go - 我可以使用 go 命令行工具设置 GOPATH 吗?

我想在编译时使用 go 工具设置 GOPATH,就像在 C/++ 中添加包含路径一样。我希望 gopath 仅在某个项目中使用。这可以在不设置环境变量的情况下完成吗?

0 投票
2 回答
174 浏览

go - 如何配置一个简单的 Go 项目

我正在尝试遵循 Thorsten Ball 的用 Go 编写解释器一书,在第一章中他建立了这个简单的方案

在 lexer/lexer.go 和 lexer/lexer_test.g 文件开始为

在 lexer_test.go 中,导入是

然后他说为了运行测试,我必须运行(从 /Users/myuser/projects/monkey 目录):

但是当我这样做时,我收到错误:

我一直在尝试了解如何在 go 中配置包,但是我发现了很多关于 GOPATH、GOROOT 和 go.mod 的非常复杂的文档。我一直在尝试所有这些方法而没有摆脱这个问题。

有人能帮助我吗?我确定这是一个简单的修复,但我无法弄清楚:(

0 投票
1 回答
38 浏览

go - $GOPATH[i] 和 $GOPATH[d] 是什么?

Go Modules Reference的一部分描述了一些最小模块兼容性的规则。本节中有一个条件列表,其中两个如下所示:

  • $GOPATH[i]/src/$modpath/$vn/$suffix存在目录(对于任何 root $GOPATH[i]),
  • 该文件$GOPATH[d]/src/$modpath/go.mod存在(对于某些 root $GOPATH[d])并将模块路径声明为$modpath/$vn,

在这种情况下,什么是$GOPATH[i]$GOPATH[d]?(假设我们知道是什么$GOPATH。)

0 投票
1 回答
240 浏览

go - windows机器上设置GOPATH值的问题

我的 GOROOT 路径:- C:\Go

我已将 GOPATH 设置为:- C:\Users\kunal\go

github.com/gorilla/mux但是当我在 VS Code 中导入模块(如)时。VS Code 提示我这个错误:-

could not import github.com/gorilla/mux (cannot find package "github.com/gorilla/mux" in any of C:\Go\src\github.com\gorilla\mux (from $GOROOT) C\src\github.com\gorilla\mux (from $GOPATH) \Users\kunal\go\src\github.com\gorilla\mux (from $GOPATH))

从上面很明显,它向我展示了两个我没有设置的不同 GOPATH。我该如何解决?

0 投票
1 回答
402 浏览

go - go build 不在 $GOPATH 中查找

我已经设置了 $GOPATH,并导入了我在 $GOPATH/src 中的部分源代码。

我需要导入的包由我编写并存储在 GOPATH/src 我将其命名为 otelkafkago 并且它的路径是 GOPATH/src/otelkafkago

我的硬盘上的其他地方还有一个代码库,当我尝试编译它时,它给了我

我已将其导入为

以下是我在构建过程中的屏幕截图,

0 投票
1 回答
466 浏览

go - 如何更新 VS Code Go 扩展工具的 GOPATH?

我的 $GOPATH 是/home/shambhav/code_mis/golang(当前的 gopath),但很久以前当我设置 GO 时,我把它搞砸了,GOPATH 是/home/shambhav/home/shambhav/code_mis/golang(以前的 gopath)。我注意到了这一点并删除了/home/shambhav/home/shambhav/code_mis/golang目录本身的内容并将 GOPATH 设置为正确的位置。

Visual Studio Code 似乎已存储/home/shambhav/home/shambhav/code_mis/golang为我的 GOPATH。即使我改变了我的 GOPATH,它也没有改变。VSC 显然无法在 中找到我的导入和 gocode、goimports、golps 等内容/home/shambhav/home/shambhav/code_mis/golang,VSC 现在有点没用了。而且当我让 VSC 下载 gocode、golps 等以查看会发生什么时,它会重新制作 /home/shambhav/home/shambhav/code_mis/golang` 并将文件放在那里。

我不会切换我的 GOPATH,因为目录太奇怪了,如果有人看到它,我会被取笑,唯一的选择是更新 GOPATH。

一些澄清,Go 编译器知道我的实际 GOPATH,它只是 VSC 没有更新它。

所以,

很久以前:GOPATH =home/shambhav/home/shambhav/code_mis/golang

VSC 存储了很久以前的 GOPATH。

现在:GOPATH =home/shambhav/code_mis/golang

但是 VSC 仍然认为很久以前的 GOPATH 仍然是真正的 GOPAH,它正在引起问题。