[英]How to provide version number for go local packages to mention in `go.mod` file
我的意圖是在 go.mod 文件中提及本地 package ,但停留在 package 版本部分。 (Go 版本為go1.14.4 linux/amd64
)
錯誤:
arun@debian:~/experiments$ go build
go: errors parsing go.mod:
/home/arun/experiments/go.mod:8: usage: require module/path v1.2.3
如果盲目地給出版本號(例如: github.com/kcarun/local_pkg/app v1.2.3
中的go.mod
,它會給出未知版本錯誤)同時執行go build
go.mod
:
module github.com/kcarun/gitlandfill
go 1.14
replace github.com/kcarun/local_pkg/ => /home/arun/experiments/local_pkg/
require (
github.com/kcarun/local_pkg/app
)
main.go
:
package main
import "fmt"
import "local_pkg"
func main(){
fmt.Println("Ok")
app.SayHello()
}
app.go
:
package app
import "fmt"
func SayHello(){
fmt.Println("Is working!!")
}
目錄結構:
arun@debian:~/experiments$ pwd
/home/arun/experiments
arun@debian:~/experiments$ tree
.
|-- go.mod
|-- local_pkg
| `-- app.go
`-- main.go
將“本地” package 導入為的正確方法
.
├── go.mod
├── local_pkg
│ └── app.go
└── main.go
是
package main
import "fmt"
import "github.com/kcarun/gitlandfill/local_pkg"
func main(){
fmt.Println("Ok")
local_pkg.SayHello()
}
,沒有在go.mod
中聲明:
module github.com/kcarun/gitlandfill
go 1.14
如果package
聲明與目錄名稱不同(例如: dir 是/home/arun/experiments/local_pkg
和 pages 是app
),你應該導入 package 使用目錄名稱,但調用它使用 ZEFE4B07A8E6034A7F67
package main
import "fmt"
import "github.com/kcarun/gitlandfill/local_pkg"
func main(){
fmt.Println("Ok")
app.SayHello()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.