是否可以使用cli-package(package main
),該文件是「go-getable」的,但二進制文件是以不同的名稱安裝的?在「go-getable」包中選擇一個不同的可執行文件名稱
比如有一個倉庫 github.com/exaring/foo-cli
但go get github.com/foo/foo-cli
會安裝一個名爲foo
(不foo-cli
)二進制?
關鍵是要有一個富有表現力的存儲庫名稱,但要有一個簡單易用的可執行文件。
是否可以使用cli-package(package main
),該文件是「go-getable」的,但二進制文件是以不同的名稱安裝的?在「go-getable」包中選擇一個不同的可執行文件名稱
比如有一個倉庫 github.com/exaring/foo-cli
但go get github.com/foo/foo-cli
會安裝一個名爲foo
(不foo-cli
)二進制?
關鍵是要有一個富有表現力的存儲庫名稱,但要有一個簡單易用的可執行文件。
如果你的罰款與用戶運行go build
而不是go get
,你可以這樣做:
go build -o foo github.com/foo/foo-cli
否則,你可以把所有的CLI代碼foo-cli
,把main
功能foo
。
謝謝,masnun。可行的部分在這裏是必不可少的。我希望用戶輸入'go get github.com/foo/foo-cli'來安裝它們的$ GOPATH/bin中的二進制文件。看起來現在這是不可能的。 –
這與編程完全沒有關係。只要將你的主要東西粘貼到github.com/foo/foo-cli/cmd/foo,然後你就可以走了。 – Volker
誰說這是一個編程問題?這是一個工具問題!我希望可能會有一個修改器,如構建約束。類似於「// name:foo」。那麼,沒關係。 –