GO - 本地导入不起作用

2023-12-29

我是 golang 新手,我想构建我的第一个简单的 Web 应用程序。每次我想构建源代码时,都会收到错误locale import "./controllers" in non-local package".

这是我的文件夹结构:

goTest
├── Dockerfile
├── controllers
│   └── IndexController.go
└── main.go

The main.go file:

package main

import (
    "github.com/julienschmidt/httprouter"
    "net/http"
    "log"
    "./controllers"
)

func main() {
    router := httprouter.New()
    router.GET("/", IndexController)

    log.Fatal(http.ListenAndServe(":8080", router))
}

The IndexController.go file:

package controllers

import (
  "fmt"
)

func IndexController(w http.ResponseWriter, r *http.Request, ps httprouter.Params) error {
    fmt.Fprintf(w, "Hi %s!", r.URL.Path[1:])
}

My Dockerfile文件(复制自https://hub.docker.com/_/golang/ https://hub.docker.com/_/golang/):

FROM golang:1.8

WORKDIR /go/src/app
COPY . .

RUN go-wrapper download   # "go get -d -v ./..."
RUN go-wrapper install    # "go install -v ./..."

EXPOSE 8080

CMD ["app"]

docker 和 go 构建命令:

docker build -t my-golang-app .

至少控制台输出:

Sending build context to Docker daemon  4.608kB
Step 1/7 : FROM golang:1.8
 ---> b2063493320d
Step 2/7 : WORKDIR /go/src/app
 ---> Using cache
 ---> 86d4df9fceaa
Step 3/7 : COPY . .
 ---> 282286e66939
Removing intermediate container fe3c0686729a
Step 4/7 : RUN go-wrapper download   # "go get -d -v ./..."
 ---> Running in f34b5a5ef0de
+ exec go get -v -d
github.com/julienschmidt/httprouter (download)
main.go:7:5: local import "./controllers" in non-local package
The command '/bin/sh -c go-wrapper download   # "go get -d -v ./..."' returned a non-zero code: 1

????‍♂️

我终于找到问题了。在里面main.go我必须导入的文件app/controllers代替./controllers因为在Dockerfile路径是/go/src/app.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GO - 本地导入不起作用 的相关文章

  • “http:多个response.WriteHeader调用”有什么不好的影响?

    尽管我发现 http 多个响应 WriteHeader 调用 例外 但我的服务器表现良好 此异常不会导致我的服务器出现恐慌或行为异常 我进行了很多搜索 但只找到了如何解决这个问题 没有文档描述异常的不良影响 有人可以帮我找出为什么 http
  • Docker Compose - 如何执行多个命令?

    我想做这样的事情 我可以在以下代码中运行多个命令 db image postgres web build command python manage py migrate command python manage py runserver
  • dockerfile 没有创建目录并复制文件?

    我的 dockerfile 中有以下内容 还有很多 不过我把相关的部分贴在这里了 RUN useradd jenkins USER jenkins Maven settings RUN mkdir m2 COPY settings xml
  • 连接到 Docker Postgres 容器连接超时

    所以我所做的是 docker run d e POSTGRES USER user e POSTGRES PASSWORD 456789 name admin service p 5432 5432 postgres 当我检查时docker
  • 如何将长 Go 模板函数拆分为多行?

    我有一个很长的printf调用 Go 模板 例子 printf mongodb s s s s authSource admin replicaSet s readPreference nearest w majority Values r
  • 如何读取 UDP 连接直至超时?

    我需要读取 UDP 流量 直到超时 我可以通过在 UDPConn 上调用 SetDeadline 并循环直到出现 I O 超时错误来做到这一点 但这看起来很黑客 基于错误条件的流量控制 下面的代码片段看起来更正确 但并没有终止 在生产中 这
  • 在未安装 docker 的情况下构建 docker 镜像

    是否可以在不安装 docker 的情况下构建镜像 在我的项目的 Maven 构建中 我想生成 docker 映像 但我不想强迫其他人在他们的机器上安装 docker 我可以想到一些安装了 docker 的虚拟框映像 但这是一种繁重的解决方案
  • Docker 容器中的并行代码执行

    我有一个通过 URLslist 抓取数据的脚本 该脚本在 docker 容器中执行 我想在多个实例中运行它 例如 20 个 为此 我想使用docker compose scale worker 20并将 INDEX 传递给每个实例 以便脚本
  • 如何使用 docker exec 运行 2 个命令

    我需要使用 docker exec 运行 2 个命令 我正在从 docker 容器中复制文件 并且不想处理凭据才能使用 ssh 之类的东西 该命令复制一个文件 sudo docker exec boring hawking tar cv v
  • Docker CentOS systemctl 不允许

    我尝试使用 systemctl 命令构建 CentOS 映像 但每次当我建造它时 我收到此错误 Step 5 7 RUN systemctl enable syslog ng systemctl start syslog ng gt Run
  • 无法连接到docker中的elasticsearch容器

    我正在尝试使用 docker 的官方 elasticsearch 镜像 我遵循了本指南 https www elastic co guide en elasticsearch reference current docker html但是当
  • 如何扁平化 Docker 镜像?

    我做了一个相当大的 Docker 容器 当我提交容器来创建映像时 映像大约有 7 8 GB 大 但当我export容器 不是save图像 到 tarball 并重新导入 图像只有 3 GB 大 当然 历史记录丢失了 但这对我来说没问题 因为
  • Docker、maven 和 settings.xml

    给出以下简单的 Dockerfile FROM maven 3 6 3 ibmjava 8 alpine Copy maven settings COPY settings xml usr share maven ref COPY pom
  • ASP.NET Core - 在 Visual Studio 2015 中通过 Docker 调试时出现问题

    我在 Visual Studio 中使用 Docker 运行基于 ASP NET Core 构建的应用程序时遇到问题 我的应用程序仅使用dnxcore50框架 我的project json 文件是 version 1 0 0 compila
  • 如何构建一个不链接到 musl libc 的 go 可执行文件

    So 官方的 Go 构建容器基于 Alpine 高山用途musl https www musl libc org 作为 libc 而不是 glibc 我需要在容器中构建一个可以在使用 glibc 的 Ubuntu 上运行的 Go 可执行文件
  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • Spring Cloud Gateway 无法在 Docker 上运行

    我已经配置了一个 Spring Cloud 网关来重定向到使用以下路由创建的服务器 Bean public RouteLocator myRoutes RouteLocatorBuilder builder return builder r
  • 重启docker Windows 10命令行

    我试图弄清楚如何在命令行中重新启动 docker 以便我可以制作一个 bat 脚本来重新启动它并启动一些容器 我使用管理员访问权限创建了一个 dos 提示符并运行以下命令 PS C Windows system32 gt net stop
  • 使用生成的 Golang DLL 返回字符串或 *C.Char

    我一直在努力追随z505 goDLL https github com z505 goDLL回购并遇到了一个大问题 该方法无法返回字符串 我无法读取结果的输出变量 这是我到目前为止使用的代码 Go 完整代码https play golang
  • 导入错误:没有名为 google.auth 的模块

    当我尝试导入时firebase admin in python 2 7我收到错误 导入错误 没有名为 google auth 的模块 这是Docker文件 https github com ammaratef45 Attendance bl

随机推荐

  • 为什么我们要在没有依赖数组的情况下使用 useEffect ?

    我有这个代码 const App React FC gt const isOpen setIsOpen React useState true const maxHeight setMaxHeight React useState cons
  • 最终编译的程序集中.Net 中的项目和 dll 依赖关系之间的差异

    假设我有两个项目 A 和 B A 依赖于 B 我可以通过两种方式指定 将 A 和 B 包含在同一解决方案中 并将 B 指定为 A 的项目依赖项 这在 A 的 msbuild 项目中显示为 ProjectReference 节点 包含对 B
  • 当两个线程同时调用“getInstance()”时,Singleton 会如何表现?

    当两个线程同时调用 getInstance 时 Singleton 会如何表现 保护它的最佳做法是什么 如果您在单例上使用延迟初始化 这只是一个问题 如果您使用急切初始化 那么 JVM 保证为您解决所有问题 对于延迟初始化 您需要同步 尽管
  • 为什么 window.open() 会默默地忽略 iff 从循环内并通过 setTimeout() 调用?

    编辑 我不明白 昨天它似乎被忽视了 现在它似乎正在发挥作用 即使在循环内并通过调用setTimeout 目前我似乎很难复制昨天的行为 发生了什么事 第二次编辑 第一个想法如何 修复 问题的复制 奇怪的是 这是否有效似乎取决于当前的 URL
  • 在 WordPress 中添加外部 javascript 文件

    我想在 WordPress 主题中添加多个外部 javascript 文件 我找到了添加一个文件的代码 但我需要添加更多 javascript 文件 我该怎么做 function wpTan scripts wp register scri
  • 在验证之后但在 Woocommerce Checkout 中创建订单之前进行挂钩

    我正在尝试在结帐中创建一个步骤来确认您的订单 我在想当点击下订单按钮时AND结帐字段有效我可以运行一些 JS 来显示模式或其他内容 是否有类似于 checkout place order 的 JS 触发器 事件在验证后运行 例如 我可以使用
  • 如何将RESTeasy中的编码设置为UTF-8?

    我在 RESTeasy 中编码字符串时遇到问题 问题是中文字母或任何其他非拉丁字符无法正确显示 如果我尝试打印它们 或作为响应发送 我会得到 反而 我相信 RESTeasy 中的默认编码是 us ascii 你知道如何将其更改为UTF 8吗
  • 如何用Python打印一块板子?

    我试图在Python上编写一个名为三重三元组的游戏 但是我对棋盘的输出有一个问题 它必须像这样每个方格 其中每个数字代表一个基点 有9个方格 每个方格三个线 1 1 9 2 3 1 6 7 2 4 1 2 我想为每一行做一个列表 并用每个基
  • 创建一个 Apache SetEnv 变量,其中包含通配符的子域名

    我有一个网站 基本上设置如下 client name website com 其中 clientname 实际上是通配符 对于每个新客户 我基本上都会创建一个子域 我需要直接从 Apache 自动获取客户端名称信息 例如 如果有人经历了 c
  • puppeteer - 如何从具有多个同一类的 div 的页面中提取内容

    我有一个简单的木偶脚本来抓取公告网站 我需要获取页面的内容 在检查 DOM 后 我可以看到所有内容对于包含链接和文本的 div 都具有相同的类 如何通过循环获取每个div的内容 这是一个页面html结构的例子 大约有二十五个相同类的div
  • ggplot barplot 根据两个类别的行的最大值进行排序

    我四处搜寻并发现和我类似的案例 https stackoverflow com questions 33127081 但我找不到以下问题的有效解决方案 我有一个像这样的数据框 df lt data frame name rep c a b
  • 不唯一的表/别名

    我收到错误ERROR 1066 42000 Not unique table alias 我不知道出了什么问题 SELECT Project Assigned ProjectID Project Title Account Account
  • TensorFlow 目标检测 API 的非极大值抑制

    我正在 Tensorflow 对象检测 API 中实现 Faster RCNN v2 Inception 为了消除冗余重叠检测 我读到应该应用 NMS 一种方法是调整配置文件中的 NMS IOU 阈值first stage nms iou
  • JavaScript 运行时如何表示闭包和作用域

    这主要是出于好奇而提出的问题 考虑以下函数 var closure function f0 var x new BigObject var y 0 closure function return 7 function f1 var x Bi
  • 绑定到 Twitter Bootstrap 3 中的 Collapse 事件

    假设我有 Bootstrap Collapse div class panel group div class panel panel default div class panel heading h4 class panel title
  • 错误:入口点不在当前项目内

    无法从 Android Studio 运行 flutter 未检测到 flutter 项目 其显示错误 入口点不在当前项目内 每次重新启动 android studio 时都会显示相同的错误消息 删除 ideaflutter 项目根目录下的
  • 使用 UIWebView 进行手势识别

    我在我正在构建的应用程序中设置了一些手势识别功能 其中一种手势是单指单击 它会隐藏屏幕顶部的工具栏 效果很好 除了一件事 点击链接也会导致工具栏消失 是否可以检测到不是链接点击的点击 我可以通过查看点击发生的位置来做到这一点 并且仅在 ht
  • 如何正确使用insertRowsAtIndexPaths?

    我浏览了在线的所有示例 但无法弄清楚如何正确地将单元格添加到带有动画的表格视图中 假设我有一个包含一个单元格的部分 当用户单击第一个单元格的附件时 我想添加另一个单元格 我的 添加 方法执行以下操作 IBAction toggleEnabl
  • Qt状态栏颜色

    我将 Qt 与 Python 结合使用 并且有一个底部带有状态栏的主窗口 我可以使用 QLabel 在栏中显示一条消息 并使用类似的方法设置该消息的颜色 font color In progress font 对于 QLabel 文本 我还
  • GO - 本地导入不起作用

    我是 golang 新手 我想构建我的第一个简单的 Web 应用程序 每次我想构建源代码时 都会收到错误locale import controllers in non local package 这是我的文件夹结构 goTest Dock