登录
首页 >  Golang >  Go问答

尽管已经设置了GOPATH,但是在执行echo $GOPATH命令时没有输出任何内容

来源:stackoverflow

时间:2024-03-27 14:03:30 381浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《尽管已经设置了GOPATH,但是在执行echo $GOPATH命令时没有输出任何内容》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我有一个奇怪的问题。

当我运行 go env 时,我得到以下信息:

goarch="amd64"
gobin=""
gocache="/home/ethanc/.cache/go-build"
goexe=""
goflags=""
gohostarch="amd64"
gohostos="linux"
goos="linux"
gopath="/home/ethanc/go"
goproxy=""
gorace=""
goroot="/usr/local/go"
gotmpdir=""
gotooldir="/usr/local/go/pkg/tool/linux_amd64"
gccgo="gccgo"
cc="gcc"
cxx="g++"
cgo_enabled="1"
gomod="/home/ethanc/marketstore/go.mod"
cgo_cflags="-g -o2"
cgo_cppflags=""
cgo_cxxflags="-g -o2"
cgo_fflags="-g -o2"
cgo_ldflags="-g -o2"
pkg_config="pkg-config"
gogccflags="-fpic -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build154822748=/tmp/go-build -gno-record-gcc-switches"

但是当我运行 echo $gopath 时,我得到一个空的新行。当我尝试回显所有其他 go 环境值时,也会发生这种情况:

这没有意义,因为当我尝试打印其他路径变量(例如 echo $home)时,我得到了正确的值:

/home/ethanc

有人知道为什么当我回显我的 gopath 时,只返回一个新行吗?


解决方案


这是 GOPATH 的 default value

由于它从未设置过,所以 go 将使用它合理的默认值。

当然,主要的结果是你所有的 go 项目共享这个 $GOPATH。

更新

对于 2023 年或之后开始学习 Go 的人来说,$GOPATH 已弃用。了解 go modules

感谢 @DonSimon (https://stackoverflow.com/users/10453847/don-simon) 为我指明了正确的方向。

因此,虽然我的 go 环境变量设置正确并且 go env 返回了正确的 env。变量,它没有在我的 bash shell 中设置。

我只是按照在终端中自动设置 GOPATH 的说明进行操作:enter link description here

具体来说,我这样做是因为我没有 .bash_profile

  1. vi ~/.bashrc
  2. 在代码底部添加了以下代码行:export GOPATH=$HOME/go

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《尽管已经设置了GOPATH,但是在执行echo $GOPATH命令时没有输出任何内容》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>