首页 > 后端开发 > Golang > Go 模块错误:为什么'package package1 is not in GOROOT”以及如何修复它?

Go 模块错误:为什么'package package1 is not in GOROOT”以及如何修复它?

Susan Sarandon
发布: 2024-12-03 08:07:11
原创
932 人浏览过

Go Module Error: Why is

Go 模块错误:包不在 GOROOT

问题:

运行 go run 时main.go,用户遇到以下情况错误:

package package1 is not in GOROOT (/usr/local/go/src/package1)
登录后复制

原因:

当 Go 模块系统无法在 GOROOT 目录中找到指定的包时,就会出现此错误。

解决方案:

要解决此问题,请确保环境变量为正确配置。应遵循以下步骤:

  1. 配置 GOPATH:

    • 在 GOROOT 之外创建 GOPATH 目录,例如 /mnt/ sda1/programming/gopath。
    • 设置GOPATH 环境变量指向此目录:

      export GOPATH=/mnt/sda1/programming/gopath
      登录后复制
  2. 调整 GOROOT:

    • 确保GOROOT设置为系统安装的Go root目录:

      export GOROOT=/usr/local/go
      登录后复制
  3. 将 GOROOT 添加到 PATH:

    • 将 GOROOT 添加到路径环境变量:

      export PATH=$PATH:$GOROOT/bin
      登录后复制
  4. 启用 Go 模块:

    • 设置 GO111MODULE 环境变量到on:

      export GO111MODULE=on
      登录后复制
  5. 更新 Bashrc:

    • 将上述环境变量添加到 .bashrc文件。
    • 加载 .bashrc 文件终端:

      source ~/.bashrc
      登录后复制
  6. 重新初始化模块:

    • 导航到包含 main 的主文件夹。 go.
    • 使用 go mod init 重新初始化 Go 模块main.
  7. 创建包目录:

    • 为包创建一个目录,例如 package1.
    • 在package1内,使用package1创建必要的文件指令。
    • 不要在包目录中创建 go.mod 文件
  8. 导入包:

    • 在main.go中,导入package:

      import "main/package1"
      登录后复制
  9. 再次加载 bashrc:

    • 再次运行 source ~/.bashrc确保更新设置

完成这些步骤后,包 package1 is not in GOROOT 错误应该得到解决,并且 main.go 文件应该成功运行。

以上是Go 模块错误:为什么'package package1 is not in GOROOT”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板