This is a Bash script for automatically reloading Go programs. It acts as a wrapper for
go run, stopping and restarting the process whenever a
.go file in your current directory or
$GOPATH/src folder is modified or moved.
It comes in useful when developing Go web applications.
- Install inotify-tools and clone this repository:
$ sudo apt-get install inotify-tools $ git clone https://github.com/alexedwards/go-reload.git
- Make the script executable and move it to somewhere on your system path. For example:
$ cd go-reload $ chmod +x go-reload $ sudo mv go-reload /usr/local/bin/
Use the script in place of
go run. For example:
$ go-reload main.go == Go-reload >> Watching directories, CTRL+C to stop
go-reload watches for changes to
*.go files only. You can change this behaviour so that all file types are watched by using the
-a flag. For example:
$ go-reload -a main.go == Go-reload >> Watching directories, CTRL+C to stop