从同一个项目中导入包

mwdoerner:

我对Go中的包结构有疑问。我的src目录中有一个结构如下的项目:

- project
    - proto_messages
    - client
        - clientcode.go
    - server
        - servercode.go

在我的客户端和服务器代码中,我使用如下导入:“ ../proto_messages”,它基于我的詹金斯构建,没有任何问题。问题是,我无法像这样开发-VS Code / Go出现以下错误:

unexpected directory layout:
    import path: _/C_/Users/bob/Documents/go/src/prj_temp/proto_messages
    root: C:\Users\bob\Documents\go\src
    dir: C:\Users\bob\Documents\go\src\prj_temp\proto_messages
    expand root: C:\Users\bob\Documents\go
    expand dir: C:\Users\bob\Documents\go\src\prj_temp\proto_messages
    separator: \

当我将import语句更改为“ prj_temp / proto_messages”时,它在本地工作,但是jenkins构建失败,因为它找不到proto_messages包。有任何想法吗?

问候鲍勃

pkm:

import语句应该是src之后的路径,因此在这种情况下prj_temp/proto_messages是正确的。

在jenkins上,确保将代码复制到正确的文件夹中:($GOPATH/src/prj_temp无论gopath在jenkins上如何)

此外,我建议您将项目嵌套到组织级别的目录中,以遵守约定。即使您没有计划将其推送到github仓库,我也建议您将项目保留在本地,C:\Users\bob\Documents\go\src\github.com\bob\someproject并将所有导入更改为github.com/bob/someproject/proto_messages我认为当您开始获取第三方项目时,这将使事情变得容易。

免责声明:答案基于我在发布go模块之前获得的知识。充分利用go模块时,可能不再需要或不建议使用上述某些方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在同一个包中导入 Python 模块

无法在同一个包中导入 Python 模块

无法从同一个包中导入 python 模块

为什么我不能在同一个模块中导入包?

来自同一个包的多个导入

导入同一个包中的文件

如何从同一个文件中导入两个同名的导出

Clojure和Java源代码在同一个NetBeans项目中

如何在同一个Spark项目中同时使用Scala和Python?

是否可以在同一个项目中包含 PolarSSL 和 OpenSSL?

在同一个项目中加载多个 jquery 版本但不是相同的页面

在同一个Xcode项目中拥有iOS和macOS应用

如果API在同一个项目中,则$ urlRouterProvider.otherwise('/')会阻止API调用

NPM 链接同一个项目中的多个功能/模块?

NodeJS:在同一个项目中加载 ES 模块和原生插件

Extjs 6和Ext.net在同一个项目中?

MVC .net Web API 和 MVC 应用程序在同一个项目中

是否可以在同一个项目中使用 Postgres 和 Oracle?

在同一个项目中实现Spring Cloud Gateway

当我尝试从同一个包导入时出现 ImportError

同一个命名空间和项目中的两个类是否也在同一个执行程序集中?

如何使用Stack在另一个项目中导入个人库?

如何从IntelliJ IDEA中的另一个Java项目导入Java项目中的包?

如何在同一项目中的不同包中引用一个类

如何在同一个项目中使用两个 JSON 解组器?

无法从同一个模块导入脚本

为什么我不能在 Visual Studio 的另一个项目中为同一个文件添加另一个链接?

同一个包 Flutter 的不同版本出错

如何在同一个项目中初始化多个RestAssured url而又不会互相覆盖?