我在檢測應用程序二進制文件時遇到了一些麻煩。Heroku找不到Go應用程序
例如,我的項目被稱爲GoServer它位於$GOPATH/src/GoServer
和二進制文件(這是由在項目目錄中運行go install
創建)位於$GOPATH/bin/
現在,如果我嘗試在本地運行的情況下使用go run main.go
它工作得很好。如果我使用Heroku Local工具包(heroku local
)在本地運行它,它也可以正常工作。但是當它推到Heroku的遠程倉庫並從那裏打開頁面時,它會崩潰。在日誌中說它找不到GoServer(bash: GoServer: command not found
)。
我該如何解決這個問題?我見過的大多數類似問題線程都是指配置錯誤的GOPATH
,但Heroku Local工作起來似乎沒什麼問題,但實際的遠程設置卻沒有。
這個二進制在'$ GOPAHT存在/ bin'地方,但最有可能的一個新的構建/安裝過程中不產生是,所以不會在heroku上找到。如果您需要幫助,我們需要知道您部署的回購計劃以及您的heroku配置。 – icza
@icza這是我用來學習Go的最基本的代碼庫。以下是更多信息:https://gist.github.com/najmsheikh/a46b7de388d1a798aa8b7c3dfa1bbdba –
'glide.yaml'中的包不正確。將'GoServer'重命名爲'goserver'(lowercaed)並將package的第一行更改爲'package:goserver'。然後在'Procfile'中使用'goserver'。 – icza