问题标签 [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.
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) 时,它会失去该项目的 (基本包导入功能) 怎么办?
go - 在 Windows 上使用 go mod 安装 go buffalo 有困难
我对golang很陌生。我正在尝试使用 gomod。试图探索 go buffalo 框架。但是在安装时发现有点困难。
我做了什么:
我看到 buffalo 不再支持 go get ,因此切换到 go 模块。
创建了一个模块
go mod init github.com/webbuffalotest
go get -v github.com/gobuffalo/buffalo
获取(在我有 go.mod 文件的同一目录上)go get -v github.com/mattn/go-sqlite3
获取(在我有 go.mod 文件的同一目录上)go install github.com/gobuffalo/buffalo
我期待 %GOPATH%/bin 中有一个 buffalo.exe,这样我就可以将它添加到我的路径中,但没有找到。
我的问题是怎么了?exe是没有安装还是因为go mod而在其他地方。任何帮助将不胜感激。
我正在使用 Windows 10。我不愿意将包管理器安装为 scoop 或 choco 来安装 buffalo。谢谢你的耐心 :)
编辑:也尝试设置
set GO111MODULE=on
但没有用。
解决了:
我的错,我应该用go install github.com/gobuffalo/buffalo/buffalo
而不是go install github.com/gobuffalo/buffalo
ubuntu - 找不到golang编译简单的应用程序模块(GOPATH?)
刚开始使用 go,当我尝试编译 hello.go 时,卡在了一个非常简单的应用程序上(从这里https://golang.org/doc/tutorial/call-module-code ):
环境是这样设置的(Ubuntu 20.04)
源代码https://github.com/myxit/golang-wtf
请帮忙,设置有什么问题?
go - 有没有办法从另一个目录运行 Go 模块
我有以下项目结构,在GOPATH
.
我想运行位于src
目录中的 Go 模块代码。当我cd
进入src
目录和go run .
/或go build .
我的代码时,它工作得很好。
当我站在项目的根部时,我无法运行go run ./src
或go build ./src
. 我收到以下错误。
重要的是我的源代码保留在此src
目录中。run
同样重要的是,我能够build
从项目的根目录获取代码(例如,.env
文件位于存储库的根目录)。
因此,我正在从我的项目的根目录中寻找一种方法run
或build
我的代码。src
我尝试移动go.mod
项目的根目录并运行并运行go run ./src
,但这会导致其自身的问题:
- 该
go
命令现在无法找到所有子包internal
和pkg
- VSCode 现在丢失并且由于某些原因无法执行测试(主要是因为没有找到所有子包)。
go - 我可以使用 go 命令行工具设置 GOPATH 吗?
我想在编译时使用 go 工具设置 GOPATH,就像在 C/++ 中添加包含路径一样。我希望 gopath 仅在某个项目中使用。这可以在不设置环境变量的情况下完成吗?
go - 如何配置一个简单的 Go 项目
我正在尝试遵循 Thorsten Ball 的用 Go 编写解释器一书,在第一章中他建立了这个简单的方案
在 lexer/lexer.go 和 lexer/lexer_test.g 文件开始为
在 lexer_test.go 中,导入是
然后他说为了运行测试,我必须运行(从 /Users/myuser/projects/monkey 目录):
但是当我这样做时,我收到错误:
我一直在尝试了解如何在 go 中配置包,但是我发现了很多关于 GOPATH、GOROOT 和 go.mod 的非常复杂的文档。我一直在尝试所有这些方法而没有摆脱这个问题。
有人能帮助我吗?我确定这是一个简单的修复,但我无法弄清楚:(
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
。)
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。我该如何解决?
go - go build 不在 $GOPATH 中查找
我已经设置了 $GOPATH,并导入了我在 $GOPATH/src 中的部分源代码。
我需要导入的包由我编写并存储在 GOPATH/src 我将其命名为 otelkafkago 并且它的路径是 GOPATH/src/otelkafkago
我的硬盘上的其他地方还有一个代码库,当我尝试编译它时,它给了我
我已将其导入为
以下是我在构建过程中的屏幕截图,
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,它正在引起问题。