使用旧版本的子程序包运行

时间:2019-07-17 04:46:02

标签: go

我正在尝试Jaeger/OpenTracing tutorial,发现对HotROD应用程序代码所做的任何更改均无效。

项目结构类似于(删节):

├── main.go
├── pkg
└── services
    ├── config
    │   └── config.go
    ├── customer
    ├── driver
    ├── frontend
    └── route

我通过运行go run main.go all启动应用程序。 它的行为符合预期,Jaeger上的迹线都与Medium上的屏幕截图匹配。

我编辑services/config/config.go来按照指示更改RouteWorkerPoolSize和MySQLGetDelay变量。 然后停止服务器并使用go run main.go all

重新启动它

我希望这些更改会在新运行的服务器中反映出来,但事实并非如此。该行为与以前完全相同。就像go在运行旧代码一样。

我对go run有误解吗?

环境变量:

GOPATH="/home/ronnie/go"
GOROOT="/usr/local/go"

工作目录:

/home/ronnie/go/src/github.com/jaegertracing/jaeger/examples/hotrod

在Kubuntu 18.04上运行的Go Go 1.12.6版本

1 个答案:

答案 0 :(得分:1)

go run编译并运行命名的主Go程序包。

只有go buildgo install会编译由导入路径命名的包及其依赖项,