Skip to content

x/all: no obvious way to download source code #62645

Closed
@jnjackins

Description

@jnjackins

What version of Go are you using (go version)?

$ go version
go version go1.21.1 darwin/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/Users/jnj/Library/Caches/go-build'
GOENV='/Users/jnj/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/jnj/pkg/mod'
GOOS='darwin'
GOPATH='/Users/jnj'
GOPRIVATE='github.com/segmentio'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/Users/jnj/src/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/Users/jnj/src/go/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/Users/jnj/src/go/src/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/Users/jnj/tmp/go-build1463137461=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?

I tried to download the source for the golang.org/x/image module.

Following the instructions in the README:

Download/Install

The easiest way to install is to run go get -u golang.org/x/image/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/image.

$ go get -u golang.org/x/image/...
go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

Neither the README, nor the git hosting website that golang.org/x/image redirects to provide a cloneable URL. If one tries to guess using the website URL:

$ git clone https://cs.opensource.google/go/x/image
Cloning into 'image'...
fatal: https://cs.opensource.google/go/x/image/info/refs not valid: is this a git repository?

Note that while I use x/image as an example, the majority of these modules provide non-working instructions for retrieving the source code.

This lack of a canonical way to download source code has apparently been an issue since module-aware go get was introduced, with tracking issues coming and going with no new solution provided other than "use the typical VCS clone command". Which is OK (though a worse experience), but seemingly the Go ecosystem never adapted by providing alternate instructions. This is not typically an issue on git hosts like github, where the clone URL is prominent, but I searched for a few minutes and found no mention of a repository clone URL for any of the golang.org/x modules.

What did you expect to see?

Ideally, a useable go command which downloads the source code, as we were all accustomed to in the pre-module days. Otherwise, simple (working) instructions for cloning these repositories, or at minimum a visible URL which can be used with git clone.

What did you see instead?

The errors shown above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationIssues describing a change to documentation.FixPendingIssues that have a fix which has not yet been reviewed or submitted.NeedsFixThe path to resolution is known, but the work has not been done.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions