go编译找不到包golang.org/x/net

go编译找不到包golang.org/x/net

运行环境

go 版本:go version go1.14.4 windows/amd64

使用包:net/http

import (
	"fmt"
	"net/http"
)

编译发生错误

在安装自定义包时无法获取包

go get -u github.com/jackdanger/collectlinks
unrecognized import path "golang.org/x/net/html": https fetch: Get "https://golang.org/x/net/html?go-get=1": dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or establishe
d connection failed because connected host has failed to respond.

编译失败错误

cannot find package "golang.org/x/net/html" in any of:
	C:\Go\src\golang.org\x\net\html (from $GOROOT)
	E:\develop\zhiteer\library\golang\src\golang.org\x\net\html (from $GOPATH)
	C:\Users\Administrator\go\src\golang.org\x\net\html

问题原因

嗯,,,,被墙了,这个网站,golang.org

解决办法

检查你的项目路径,并明确go安装的位置,如我的:C:\Users\Administrator\go

则在go安装目录下会存在src目录,进入src目录。

命令行输入命令:

git clone https://github.com/golang/net ./

将包直接下载在当前目录下即可。

下载完成时完整结构:

C:\Users\Administrator\go\src\golang.org\x\net

因此,您也可以直接去官方github直接下载压缩包,然后解压到src目录下来,目录路径保持一致即可。

在Dockerfile中,FROM和WORKDIR已经是你提供的基本结构,接下来我们可以添加一些额外的指令来创建Go项目的镜像。假设你的项目结构是在`src`目录下,以下是针对这个情况的一些建议的修改: ```Dockerfile # 修改COPY指令,含源码目录 COPY . /app/src # 或者如果你的go文件直接在根目录,可以改为: # COPY . . # 需要在/app目录下运行下面的命令 WORKDIR /app # 添加安装Go依赖的RUN指令 RUN go mod init && go mod tidy # 然后下载所有依赖 RUN go mod download # 设置环境变量如 GOPATH ENV GOPATH=/app/go # 如果你的项目不在标准的$GOPATH/src路径下 # 构建并复制 Go 应用到 bin 目录 RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 GO_BUILD_FLAGS="-a" go build -ldflags '-s' -o /app/bin/main ./ # 最后将bin目录设为工作目录并暴露端口(如果需要) WORKDIR /app/bin EXPOSE 8080 # 示例,替换为你应用的实际端口 # 定义镜像的最终命令 CMD ["./main"] ``` 这个Dockerfile做了以下改变: 1. 使用`COPY . /app/src` 或 `. .` 来将整个项目复制到Docker容器的/app目录下。 2. 在`/app`目录下初始化并整理Go模块。 3. 添加了`GOOS`和`GOARCH`环境变量设置,以便构建针对特定平台的二进制文件。 4. 运行`go build`命令将Go源代码编译成可执行文件。 5. 如果你的应用程序监听特定端口,可以在`EXPOSE`指令中声明。 记住,这只是一个基础模板,具体可能会根据你的项目需求有所不同,例如是否需要处理依赖更新、环境变量管理等。在实际使用时,务必检查`go.sum`文件确认所有依赖已成功获取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值