在Mac安裝Go的swaggo套件執行swag
時出現command not found找不到命令。
問題環境:
- MacBook Pro Apple M1 Pro
- macOS Monterey 12.5
- Go 1.19.2 darwin/arm64
狀況
在終端機以zsh執行go get -u github.com/swaggo/swag/cmd/swag
下載swaggo/swag及其命令列套件,但執行swag
出現command not found如下。
% swag --version
zsh: command not found: swag
查看GOPATH
為/Users/<username>/go
。
參考swag init command not running #197這篇修改GOPATH
為/Users/<username>/go/bin
也沒用。
然後發現在/Users/<username>/go/bin
目錄中根本沒有swag的執行檔swag
。
解決
查了一下才知道Go 1.17開始廢棄了go get
安裝可執行檔功能,且1.18後無法build package,也就是go get
只能單純用來下載及更新go.mod
的依賴。若要下載並安裝Go的可執行檔要改用go install
。
在zsh輸入go install github.com/swaggo/swag/cmd/swag
即可安裝swag的可執行檔。
% go install github.com/swaggo/swag/cmd/swag
go: downloading github.com/go-openapi/spec v0.20.4
go: downloading github.com/go-openapi/jsonreference v0.19.6
go: downloading github.com/PuerkitoBio/purell v1.1.1
go: downloading github.com/go-openapi/swag v0.19.15
go: downloading github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
go: downloading golang.org/x/net v0.0.0-20220722155237-a158d28d115b
go: downloading github.com/mailru/easyjson v0.7.6
把swag執行檔所在路徑/Users/<username>/go/bin
設定到PATH變數後,便可成功執行swag
命令。
% swag --version
swag version v1.8.7
沒有留言:
張貼留言