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

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

從基于 GOPATH 的 dep 遷移到 go mod 時,格式錯誤的模塊路徑

從基于 GOPATH 的 dep 遷移到 go mod 時,格式錯誤的模塊路徑

Go
猛跑小豬 2023-07-31 15:30:15
$ go version1.13.3我的文件夾結構如下:GOPATH+---src     +--- my-api-server           +--- my-auth-server                 +--- main.go           +--- my-utils                 +--- uuid                       +--- uuid.gomy-auth-server用作my-api-server/my-utils/uuid依賴項現在,當我使用基于 GOPATH 的模塊系統時,效果很好。但是當使用 go 模塊時,當我運行go run main.go它時my-auth-server返回錯誤:build command-line-arguments: cannot load my-api-server/my-utils/uuid: malformed module path "my-api-server/my-utils/uuid": missing dot in first path element知道如何解決這個問題嗎?
查看完整描述

5 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

go.mod文件應位于項目的根目錄下(在本例中為my-api-server/go.mod)。

模塊路徑的第一部分應該是域/路徑。例如,完整路徑可能是github.com/your-github-username/my-api-server.?您看到的錯誤是因為第一部分不是域(帶有句點)。您不必發布模塊來開發它,但您需要使用適當的域名。

一旦有了模塊路徑,就可以使用完整模塊路徑+“/”+包的相對路徑來導入該模塊中包含的包。例如,

import?"github.com/your-github-username/my-api-server/my-utils/uuid"

由于main.gouuid包含在同一模塊中,因此您不需要requirego.mod文件中聲明即可使用該uuid包。您可以像任何其他包一樣導入它并且它會起作用。

我建議使用go build并運行生成的可執行文件,而不是使用go run它來確保包含構建過程中所需的所有文件。

查看完整回答
反對 回復 2023-07-31
?
森林海

TA貢獻2011條經驗 獲得超2個贊

檢查 main.go 文件上的導入路徑。

我必須調用整個導入路徑:

github.com/[username]/[project-name]/views

代替:

[project-name]/views

讓它在我這邊發揮作用。


查看完整回答
反對 回復 2023-07-31
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

如果您嘗試使用全局包(非標準),則包名稱的第一部分應該有一個點('.')。可能需要點('.'),就像在任何 URL 中一樣,在本例中為 github.com...,它將其標記為遠程包。

如果你想使用本地包,那么你需要使用 go 模塊,那么第一部分將是你的 go 模塊的名稱(你在初始化 go 模塊時使用的名稱)。

示例(根據問題):轉到項目根文件夾(在本例中../src$)并運行以下命令

go mod init myapiserver

這將創建一個go.modgo.sum文件。

然后要導入uuid,您可以簡單地myapiserver/my-utils/uuid在導入中使用

import "myapiserver/my-utils/uuid"

那么所有公共函數(以大寫字母開頭)都uuid.go可以在當前文件中訪問


查看完整回答
反對 回復 2023-07-31
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

升級go版本到最新或1.16.1以上。

go version >=1.16.1 (required)

對于蘋果機 -

brew update
brew upgrade golang

對于 linux - 刪除現有的 go,然后安裝最新的。

這對我有用。


查看完整回答
反對 回復 2023-07-31
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

非常不尋常的情況,但我正在使用不正確/過時的符號鏈接main.go。將其鏈接到正確的文件修復了該錯誤。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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