【问题标题】:How can I fixbut does not contain package golang.org/x/sys?如何修复但不包含包 golang.org/x/sys?
【发布时间】:2021-04-22 08:16:35
【问题描述】:

最小可重现示例:https://play.golang.org/p/saGt7CYOsm4

package main

import (
    "golang.org/x/sys"
)

func main() {
}
go: finding module for package golang.org/x/sys
go: downloading golang.org/x/sys v0.0.0-20200610111108-226ff32320da
prog.go:4:2: module golang.org/x/sys@latest found (v0.0.0-20200610111108-226ff32320da), but does not contain package golang.org/x/sys

这可能是 sys 包的普遍问题,但我在导入 testcontainers-go 时遇到了它:

        github.com/testcontainers/testcontainers-go imports
        github.com/docker/docker/pkg/archive imports
        golang.org/x/sys/execabs: module golang.org/x/sys@latest found (v0.0.0-20210421221651-33663a62ff08, replaced by golang.org/x/sys@v0.0.0-20180810173357-98c5dad5d1a0), but does not contain package golang.org/x/sys/execabs

【问题讨论】:

  • 嗨,欢迎来到 SO!你想用什么方法来使用 sys?
  • 参见this question:应用程序应该导入模块内的包,而不是模块的根目录(模块根目录下没有 Go 文件)。

标签: go


【解决方案1】:

golang.org/x/sys 不是一个有效的包,可以在这里看到 [1]。如果 你看看你自己的输出,你会注意到另一个模块实际上 导入golang.org/x/sys/execabs [2]。工作示例:

package main

import (
   "golang.org/x/sys/execabs"
   "os"
)

func main() {
   c := execabs.Command("go", "version")
   c.Stdout = os.Stdout
   c.Run()
}
  1. https://pkg.go.dev/golang.org/x/sys
  2. https://pkg.go.dev/golang.org/x/sys/execabs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 2018-09-06
    • 2019-09-29
    • 2022-10-18
    相关资源
    最近更新 更多