GOPATH、GOROOT(VSCode编写第一个go程序)

这篇具有很好参考价值的文章主要介绍了GOPATH、GOROOT(VSCode编写第一个go程序)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. GOROOT和GOPATH

GOROOTGOPATH 都是 Go 语言中的环境变量,用于指定 Go 工具链和工作区的路径。

GOROOT 指定了 Go 工具链的安装路径,它包含了 Go 语言的标准库、编译器等工具。在使用 Go 编译器、运行时等工具时,它们会默认从 GOROOT 中查找相关的文件。一般情况下,我们不需要修改 GOROOT 的值,除非你需要使用不同版本的 Go 工具链。

GOPATH 指定了 Go 语言工作区的路径,它包含了你的项目源代码、依赖库以及编译后的可执行文件等。在使用 Go 工具链时,它们会默认从 GOPATH 中查找相关的文件。如果你的项目依赖了第三方库,那么这些库也会被下载到 GOPATH 目录下。在使用 Go Modules 进行依赖管理时,GOPATH 的作用会被降低,因为 Go Modules 可以将依赖库放在任何地方,不需要将其放在 GOPATH 目录下。

总之,GOROOTGOPATH 都是 Go 语言中非常重要的环境变量,它们对于正确配置 Go 工具链和工作区非常重要。

2. GOPATH

GOPATH 是一个环境变量,用于指定 Go 语言工作区的路径。在 GOPATH 中包含了三个重要的目录:srcbinpkg。其中,src 目录是用于存放 Go 语言源代码的目录,bin 目录是用于存放编译后的可执行文件的目录,pkg 目录是用于存放编译后的库文件的目录。

GOPATH 的作用是告诉 Go 工具链在哪里查找你的项目源代码和依赖库。如果你的项目不在 GOPATH 目录下,那么你需要将你的项目复制到 GOPATH/src 目录下,或者设置 GO111MODULE=on,使用 Go Modules 进行依赖管理。如果你使用 Go Modules 进行依赖管理,那么你可以将你的项目放在任何地方,不需要将其复制到 GOPATH/src 目录下。

3. vscode安装go插件后,编写代码弹出来的安装模块选择全部安装即可

  • 全部安装成功
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide
  • 安装成功后会在我们的GOPATH路径下下载到相关的可执行文件和库文件
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

4. vscode中显示package引用包“报错”

GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

gopls requires a module at the root of your workspace.
You can work with multiple modules by upgrading to Go 1.18 or later, and using
go workspaces (go.work files).
See the documentation for more information on setting up your workspace:
https://github.com/golang/tools/blob/master/gopls/doc/workspace.md.
  • 这个“报错”并不是“‘报错”,不会影响程序的正常运行
    主要是因为我的GOPATH和工作目录不再同一目录下,有很多网友说的可以打开文件—> 首选项—> 设置—> 扩展—> go—> Alternate Tools—> 编辑settings.json ,这里添加
"gopls": {
    "experimentalWorkspaceModule": true
},
  • 我这里是行不通的,照样报错
  • 不行,不行,不行

5. 使用 Go Modules 管理

  • 最大的好处就是我的项目可以放在任意位置
    vscode打开控制台在项目下执行go mod init <项目路径>,例如我的项目路径是D:/goproject:

  • 执行go mod init goproject
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

  • 可以看到在我的项目底下生成了一个go.mod文件,里面放的是我的项目名称和go版本,其实这个文件还有更多作用,感兴趣的可以去多多了解,也可以达到评论区一块学习交流

  • 这个文件也可以自己手动添加不用命令

module goproject

go 1.17

6. go.mod文件

是的,使用 go mod init goproject 命令会在当前目录下生成一个名为 go.mod 的文件。这个文件是 Go Modules 的描述文件,它包含了你的项目名称、版本号以及依赖库等信息。

在你的项目中使用 Go Modules 进行依赖管理时,你可以在 go.mod 文件中声明你的项目所依赖的第三方库,然后使用 go buildgo test 等命令自动下载并管理这些依赖库。这样可以方便地管理你的项目依赖,并且可以避免由于依赖库版本不一致而导致的编译错误等问题。

除了 go.mod 文件之外,使用 go mod init 命令还会生成一个名为 go.sum 的文件。这个文件用于记录你的项目所依赖的第三方库的具体版本和哈希值等信息,以确保每个人在构建你的项目时都使用相同的依赖库版本。

7、添加依赖包到GOPATH中

GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

could not import k8s.io/client-go/tools/clientcmd (cannot find package “k8s.io/client-go/tools/clientcmd” in GOROOT or GOPATH)
没有在我的GOROOT或者GOPATH中找到包

  • 使用go get 命令来安装包到我的GOPATH中
go get k8s.io/client-go

这个命令会自动下载 k8s.io/client-go 包,并将其放置在 GOPATH/src 目录下。如果环境变量 $GOPATH/bin 在 $PATH 中,那么这个命令还会将可执行文件添加到 $GOPATH/bin 目录下,以便可以直接在命令行中使用这个工具。

  • 由于我的环境中k8s版本是1.19.9版本,根据官网https://github.com/kubernetes/client-go版本对应关系,选择v0.19.0
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide
go get k8s.io/client-go@v0.19.9

GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

PS D:\goproject> go get k8s.io/client-go@v0.19.9
go: can only use path@version syntax with ‘go get’ and ‘go install’ in module-aware mode

  • 这个错误提示说明w我正在使用 Go Modules 进行依赖管理,而且我不能在模块中使用 path@version 语法来指定依赖库的版本。
GO111MODULE=off go get k8s.io/client-go@v0.19.9
  • 这个命令会将 Go Modules 关闭,然后使用旧的 GOPATH 模式来下载 k8s.io/client-go@v0.19.9 包。注意,这个命令会将包下载到 $GOPATH/src 目录下,而不是在当前模块的 vendor 目录中。
  • 如果你想在模块中使用 path@version 语法来指定依赖库的版本,你需要将你的项目初始化为 Go Modules,并且在你的项目根目录下创建一个名为 go.mod 的文件。你可以执行以下命令来初始化 Go Modules:
go mod init goproject
  • 然后,你可以在你的代码中使用 import "k8s.io/client-go@v0.19.9"来声明依赖。注意,这个命令会将包下载到当前模块的 vendor 目录中。

PS D:\goproject> go mod init goproject
go: modules disabled by GO111MODULE=off; see ‘go help modules’

表明你的Go语言环境中的GO111MODULE环境变量被设置为"off",禁用了Go模块功能。
要解决这个问题,你可以尝试以下方法:

  1. 确保你的Go语言版本是1.11或更新的版本,因为Go模块功能在1.11版本中才被引入。
  2. 检查并确保你的工作目录不是在GOPATH之下,因为Go模块功能不适用于GOPATH模式。你可以使用go env命令来查看GOPATH的值,如果它指向了你的当前工作目录,则需要将工作目录移动到GOPATH之外。
  3. 如果你在命令行中使用了set GO111MODULE=on命令,但没有生效,可能是因为你的操作系统或终端环境不同导致的。你可以尝试使用不同的命令来设置环境变量:
    在Windows命令提示符下:setx GO111MODULE on
    在Windows PowerShell下:$env:GO111MODULE = "on"
    在Linux或MacOS终端下:export GO111MODULE=on
  4. 请注意,这些命令设置的环境变量可能在当前会话中生效,但在新的终端会话中可能会失效。如果你希望持久保存环境变量的设置,你需要将它们添加到你的操作系统配置文件(例如.bashrc或.bash_profile)中。
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide
  • 成功执行
    GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide
  • 执行go mod tidy命令

你的导入语句自动更新go.mod文件并下载缺少的依赖包。确保在包含k8s.io/client-go的文件中执行该命令
这将自动下载缺少的依赖包并将它们添加到go.mod文件中。
GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide

# 查看依赖
go get -u
# 清理模块缓存
go clean -modcache

8、无法导入k8s.io/client-go/tools/clientcmd

could not import k8s.io/client-go/tools/clientcmd (no required module provides package “k8s.io/client-go/tools/clientcmd”)
这个错误通常意味着缺少所需的Kubernetes客户端库。请尝试使用以下命令安装所需的依赖项:

go get k8s.io/client-go/tools/clientcmd@v0.19.9

GOPATH、GOROOT(VSCode编写第一个go程序),vscode,golang,ide文章来源地址https://www.toymoban.com/news/detail-584805.html

到了这里,关于GOPATH、GOROOT(VSCode编写第一个go程序)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C快学-C语言程序设计(基础篇)】从VSCode中使用C编写我的第一个Hello world

    简介:本专栏是一个C语言基础入门知识学习的一个专栏 面向:广大C友 工具:VSCODE 博主:一个友好且宠粉的博主,送书活动小专栏,不定期抽奖送图书给粉丝 社区:🦈山鱼社区 我这里是使用超级强大的vscode来进行C语言的学习的,因为vscode有着许多好用且方便的插件,能够

    2024年02月13日
    浏览(30)
  • vscode编写go代码时没有自动提示(自动补齐)

    步骤: 1.首先查看自己的goPath的bin目录下的内容是否包含以下: 如果没有则是需要在vscode里面下载相关go的插件 方法:①配置国内镜像源(我失败了)②使用vpn进行下载 vpn下载方法详细步骤: ①打开vpn(外网) ②在vscode内使用Ctrl + Shift +P然后搜索go:install/update ③点击之后全

    2024年02月04日
    浏览(27)
  • 【Golang】VsCode下开发Go语言的环境配置(超详细图文详解)

    📓推荐网站(不断完善中):个人博客 📌个人主页:个人主页 👉相关专栏:CSDN专栏、个人专栏 🏝立志赚钱,干活想躺,瞎分享的摸鱼工程师一枚 ​ 话说在前,Go语言的编码方式是 UTF-8 ,理论上你直接使用文本进行编辑也是可以的,当然为了提升我们的开发效率我们还是需

    2024年02月07日
    浏览(70)
  • vscode编写html程序

    首先安装open in browser插件 接着,回到项目,按住键盘alt + b 就可以运行项目 运行结果如图所示。 如果你看到这里,恭喜你,完成了用vscode书写第一个html文件! 如果文章对你有用的话,点个赞再走哟~

    2024年02月07日
    浏览(28)
  • VSCode编写 C/C++ 程序

    VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。

    2024年01月19日
    浏览(22)
  • 使用vscode编写、运行Python程序

    vscode是一个代码编辑器,支持win10、Ubuntu等多种主流操作系统。vscode中有很多实用的拓展工具,借助这些工具,可以很方便地完成代码编写、调试、运行、版本管理。 vscode的下载地址为:https://code.visualstudio.com/Download,界面如下: 在下载界面中, 根据你的操作系统,选择不同

    2024年02月04日
    浏览(34)
  • 【JSDoc&vscode】使用JSDoc、在vscode中开启node调试、使用vscode编写运行Python程序

    JSDoc是JavaScript的一种注释语法,同时通过JSDoc注释也可以规避js弱类型中不进行代码提示的问题 图形展示JSDoc的效果:  上述没有进行JSDoc,然后我们a点什么 是没有任何提示的 上述就是加上 JSDoc的效果 常用的 vscode 其实内置了 jsDoc, 只需输入 /** 然后就会有提示,然后直接按

    2024年02月11日
    浏览(34)
  • 使用VScode编写C语言程序 环境安装配置 保姆级教程

    Visual Studio Code可通过安装插件来支持C++、C#、Python、PHP等语言,使用的工程师越来越多,本文介绍如何使用VS Code进行C语言的编译与调试 目录 一 vsCode配置C/C++环境 1. vsCode下载和安装 2. 安装vsCode 二 MinGW编译器下载和配置 1. 下载编译器MinGW并解压  2. 将MinGW添加至环境变量 3

    2024年02月04日
    浏览(58)
  • 学习如何在VS Code中创建一个Golang/Go项目,并运行一个简单的Golang程序

     学习如何在VS Code中创建一个Golang项目,并运行一个简单的Golang程序。 在VS Code 手动输入命令创建一个Golang项目 在VS Code 不输入命令创建一个Golang项目 1. 在VS Code 手动输入命令创建一个Golang项目 步骤1:在VS Code中创建一个新文件夹,用于存放Golang项目文件。 步骤2:打开VS

    2024年02月14日
    浏览(47)
  • 【配置vscode编写c或c++程序,并在外部控制台输出程序和解决中文乱码问题!!!】

    https://sourceforge.net/projects/mingw-w64/files/ 下载到本地后解压到任意位置(路径不要带中文),复制bin目录路径配置系统变量 进入高级系统设置,打开环境变量,在系统变量中找到path,将复制的路径粘贴到新建变量中 然后打开命令行输入 gcc -v,如果出现很多代码则说明环境配置

    2024年02月03日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包