亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 go 中的同一項目導入包

從 go 中的同一項目導入包

Go
拉風的咖菲貓 2023-08-07 11:09:28
我有一個關于 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 包。有任何想法嗎?
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

import 語句應該是 src 之后的路徑,所以在這種情況下prj_temp/proto_messages是正確的。

在 jenkins 上,確保將代碼復制到正確的文件夾中:($GOPATH/src/prj_temp無論 jenkins 上的 gopath 是什么)

此外,我建議將您的項目嵌套到組織級別目錄中,以遵循約定。即使您不打算將其推送到 github 存儲庫,我也建議您將項目保留在本地C:\Users\bob\Documents\go\src\github.com\bob\someproject并將所有導入更改為github.com/bob/someproject/proto_messages. 我認為當您開始獲取第三方項目時,事情會變得更容易。

免責聲明:答案基于我在 Go 模塊發布之前獲得的知識。當充分利用 go 模塊時,上述某些內容可能不再是必要或推薦的。


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號