3 回答

TA貢獻1860條經驗 獲得超8個贊
來自“模塊是否可以與相對導入一起使用,例如導入“./subdir”??”
在模塊中,最終有一個子目錄的名稱。
如果父目錄顯示“?
module m
”,則子目錄將導入為“?m/subdir
”,而不是“?./subdir
”。
在你的情況下:
import?"github.com/Aragami1408/go-gorm/db". #?or?maybe import?"go-gorm/db"

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

TA貢獻1829條經驗 獲得超7個贊
當遷移到“包管理器”時,您可以go mod使用以下命令創建文件:
go mod init myhost/myrepo/mymodule
然后將創建文件go.mod:
module myhost/myrepo/mymodule
go 1.15
現在您可以利用此文件列出對其他模塊的依賴項:
# i.e: your module mymodule depends on github.com/gorilla/mux
go get github.com/gorilla/mux
你運行它嗎?然后再次檢查內容go.mod
module myhost/myrepo/mymodule
go 1.15
require (
github.com/gorilla/mux v1.7.4
)
您很高興,因為您利用了包管理器功能并且像老板一樣管理依賴項。
然而,...
但是,您忘記了需要維護所有導入具有相對路徑的目錄的 go 文件。
例子 :
如果你有main.go
package main
import (
"fmt"
"./router" // !! RELATIVE PATH
)
您還必須通過將相對路徑替換為 來進行遷移[module-name]/relative-path。在這種情況下,它必須變成:
package main
import (
"fmt"
"myhost/myrepo/mymodule/router" // !! ?? No more RELATIVE PATH
)
- 3 回答
- 0 關注
- 179 瀏覽
添加回答
舉報