你正在使用的Go版本是什么( go version
)?
$ go version
go version devel +9325bec899 Wed Nov 13 11:59:24 2019 +0100 darwin/amd64
这个问题在最新版本中是否重现?
你正在使用什么操作系统和处理器架构( go env
)?
go env
输出
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/elias/Library/Caches/go-build"
GOENV="/Users/elias/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/elias/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/elias/go-tip"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/elias/go-tip/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/elias/proj/gophercon-2019-talk/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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_7/lnt35k555hl2bs7fjygkhgx00000gp/T/go-build183530635=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version devel +9325bec899 Wed Nov 13 11:59:24 2019 +0100 darwin/amd64
GOROOT/bin/go tool compile -V: compile version devel +9325bec899 Wed Nov 13 11:59:24 2019 +0100
uname -v: Darwin Kernel Version 18.7.0: Sat Oct 12 00:02:19 PDT 2019; root:xnu-4903.278.12~1/RELEASE_X86_64
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G1012
lldb --version: lldb-1100.0.28.19
Apple Swift version 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)
你做了什么?
$ git clone https://github.com/eliasnaur/gophercon-2019-talk
$ cd gophercon-2019-talk
$ GO111MODULE=on present
然后,我在浏览器中打开了http://127.0.0.1:3999/gophercon-2019.slide#7,并按下了"运行"。
你期望看到什么?
程序在本地运行。
你看到了什么?
compile1.go:7:5: cannot find module providing package gioui.org/app: working directory is not part of a module
Program exited: exit status 1
present
曾经可以与 GO111MODULE=on
一起工作。我相信 #32027 的修复破坏了它。
6条答案
按热度按时间vktxenjb1#
github.com/eliasnaur/gophercon-2019-talk
是一个模块,我从那里运行present
。gorkyyrv2#
哦,我错过了那个细节。
093gszye3#
为了澄清,由于您在没有任何标志的情况下运行
GO111MODULE=on present
,这个问题是关于本地播放执行模式(而不是使用play.golang.org),没有使用Native Client(我们需要删除或处理它,否则很快就会出问题,为此我们创建了#35675)。为了使其更明确:从简要查看来看,我怀疑问题是代码片段是在临时目录中构建的:
https://github.com/golang/tools/blob/5a76f03bc7c327212912ed6b2a76a10d7f39b224/playground/socket/socket.go#L358
这意味着它没有使用与
present
可能在同一模块中运行的相同模块。我们应该弄清楚我们想要的行为是什么。c86crjj04#
没有进展吗?我正在尝试制作一个幻灯片展示新的
golang.org/x/exp/maps
包,这个问题似乎阻碍了我...5ssjco0h5#
@jub0bs 我认为没有人维护当前的软件包;例如,可以查看#27026。如果有任何进展,你将能够看到它。但更现实地说,我认为在不久的将来不会有任何进展,除非有人采取行动。
iqjalb3h6#
我假设你已经考虑过在模块内运行
present
,即使它是一个临时的模块?