【问题标题】:how to fix GOROOT problem in local packages in mac [closed]如何在mac中修复本地包中的GOROOT问题[关闭]
【发布时间】:2021-09-08 06:14:51
【问题描述】:

我是新手,我在编写包时遇到了问题。 导入包时出现错误:

 package mypackages/numbers is not in GOROOT (/usr/local/Cellar/go/1.16.5/libexec/src/mypackages/numbers)

这是我的 $GOPATH/src 中的代码结构:

.
├── github.com
├── gitlab.com
├── golang.org
├── learning
│   └── test
│       └── main.go
└── mypackages
    └── numbers
        └── numbers.go

学习/测试/main.go 内容:

package main

import (
    "fmt"
    "mypackages/numbers"
)

func main() {
    fmt.Println(numbers.Even(6))
}

mypackages/numbers/numbers.go 内容:

package numbers

func Even(n uint) bool {
    if n%2 == 0 {
        return true
    }
    return false
}

运行go env的环境变量:

GOCACHE="/Users/AminBSHR/Library/Caches/go-build"
GOENV="/Users/AminBSHR/Library/Application Support/go/env"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOMODCACHE="/Users/AminBSHR/go/pkg/mod"
GOPATH="/Users/AminBSHR/go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.16.5/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.16.5/libexec/pkg/tool/darwin_amd64"

【问题讨论】:

标签: go package


【解决方案1】:

由于您是 Go 新手,我建议您使用官方文档页面通过以下路径:

  1. 了解properly installing Go for your platform
  2. 阅读getting started tutorial,它告诉您如何正确创建简单的“hello world”模块,以及如何安装第 3 方包并在代码中使用它们。

完成这些步骤所需的时间不会超过 20 分钟,而且几乎可以肯定,您将能够在该过程结束时实现目标。作为奖励,请继续阅读第一页之后的入门指南,以了解如何创建自己的 Go 模块、从其他模块中使用它们、编写测试、build 将您的代码转换为二进制文件等等。

恕我直言,这是尝试编写 Go 程序所需的最低背景;如果不经过这些步骤,您将缺乏关键的基础知识,甚至很难理解 SO 的答案。

【讨论】:

    猜你喜欢
    • 2021-01-30
    • 2018-08-22
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多