3 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
來(lái)自“模塊是否可以與相對(duì)導(dǎo)入一起使用,例如導(dǎo)入“./subdir”??”
在模塊中,最終有一個(gè)子目錄的名稱(chēng)。
如果父目錄顯示“?
module m
”,則子目錄將導(dǎo)入為“?m/subdir
”,而不是“?./subdir
”。
在你的情況下:
import?"github.com/Aragami1408/go-gorm/db". #?or?maybe import?"go-gorm/db"

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您使用 go 模塊,您可以使用以下命令將您的包替換為本地包:
go mod edit -replace github.com/username/project=/localpath
然后就打電話(huà)
go get github.com/username/project
一切都應(yīng)該正常。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
當(dāng)遷移到“包管理器”時(shí),您可以go mod使用以下命令創(chuàng)建文件:
go mod init myhost/myrepo/mymodule
然后將創(chuàng)建文件go.mod:
module myhost/myrepo/mymodule
go 1.15
現(xiàn)在您可以利用此文件列出對(duì)其他模塊的依賴(lài)項(xiàng):
# i.e: your module mymodule depends on github.com/gorilla/mux
go get github.com/gorilla/mux
你運(yùn)行它嗎?然后再次檢查內(nèi)容go.mod
module myhost/myrepo/mymodule
go 1.15
require (
github.com/gorilla/mux v1.7.4
)
您很高興,因?yàn)槟昧税芾砥鞴δ懿⑶蚁窭习逡粯庸芾硪蕾?lài)項(xiàng)。
然而,...
但是,您忘記了需要維護(hù)所有導(dǎo)入具有相對(duì)路徑的目錄的 go 文件。
例子 :
如果你有main.go
package main
import (
"fmt"
"./router" // !! RELATIVE PATH
)
您還必須通過(guò)將相對(duì)路徑替換為 來(lái)進(jìn)行遷移[module-name]/relative-path。在這種情況下,它必須變成:
package main
import (
"fmt"
"myhost/myrepo/mymodule/router" // !! ?? No more RELATIVE PATH
)
- 3 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報(bào)