Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Heroku local没有使用我的最新代码。为什么?_Git_Heroku_Go_Heroku Toolbelt - Fatal编程技术网

Git Heroku local没有使用我的最新代码。为什么?

Git Heroku local没有使用我的最新代码。为什么?,git,heroku,go,heroku-toolbelt,Git,Heroku,Go,Heroku Toolbelt,我正在尝试让一个非常简单的数据库支持的golang heroku应用程序作为hello world运行 部署的Heroku版本的我的应用程序运行良好,如果我在本地手动测试,它运行良好,但是Heroku local顽固地使用我的旧版本代码。具体而言: $ heroku local forego | starting web.1 on port 8080 工作正常,但意外地提供了较旧版本的应用程序。另一方面,这: $ go run web.go 这是: $ git push heroku mas

我正在尝试让一个非常简单的数据库支持的golang heroku应用程序作为hello world运行

部署的Heroku版本的我的应用程序运行良好,如果我在本地手动测试,它运行良好,但是
Heroku local
顽固地使用我的旧版本代码。具体而言:

$ heroku local
forego | starting web.1 on port 8080
工作正常,但意外地提供了较旧版本的应用程序。另一方面,这:

$ go run web.go
这是:

$ git push heroku master
Everything up-to-date
$ heroku open
两者都满足了我的期望,这是我代码的最新版本

这真让我困惑。我已经阅读了所有文档并仔细检查了所有内容的状态,但找不到任何指示正在发生什么或可能导致它的内容


我最好的猜测是,
heroku local
正在使用某个地方编译的slug,而该slug没有得到更新。

问题是golang是一种编译语言,
heroku local
只使用最后一个构建,而不会自行启动重建。修复方法是只需记住在运行heroku local之前进行编译:

$ go install
如果您使用
go run web.go
进行测试,很容易忘记这一点,因为这不需要重新编译,heroku本身会自动进行构建,因此在尝试使用
heroku local
之前,您可以不运行
go install


(事实上,当我把整个问题都写出来后,我就明白了这一点,但我想我还是应该发表文章,以备将来参考。)

我很感谢你发表这个词+1.