Skip to content

Updating River

To keep third party dependencies as self-contained as possible, River is distributed as a set of interrelated Go Modules. Normally when fetching the top level github.com/riverqueue/river Go will resolve new versions of other modules as it needs to, but especially when working with new releases, it may accidentally find incompatible versions.

For best results, it's recommend that all River-related modules be updated simultaneously using a single invocation of go get:

Terminal window
RIVER_VERSION=latest;
go get -u github.com/riverqueue/river@$RIVER_VERSION \
github.com/riverqueue/river/cmd/river@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riverdatabasesql@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riverpgxv5@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riversqlite@$RIVER_VERSION \
github.com/riverqueue/river/rivershared@$RIVER_VERSION \
github.com/riverqueue/river/rivertype@$RIVER_VERSION && \
go mod tidy

Chaining go mod tidy makes sure that any drivers that weren't in use by the project are stripped back out again.

River Pro

If using River Pro, include Pro modules along with the standard ones:

Terminal window
RIVER_VERSION=latest;
RIVER_PRO_VERSION=latest;
go get -u github.com/riverqueue/river@$RIVER_VERSION \
github.com/riverqueue/river/cmd/river@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riverdatabasesql@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riverpgxv5@$RIVER_VERSION \
github.com/riverqueue/river/riverdriver/riversqlite@$RIVER_VERSION \
github.com/riverqueue/river/rivershared@$RIVER_VERSION \
github.com/riverqueue/river/rivertype@$RIVER_VERSION \
riverqueue.com/riverpro@$RIVER_PRO_VERSION \
riverqueue.com/riverpro/driver@$RIVER_PRO_VERSION \
riverqueue.com/riverpro/driver/riverprodatabasesql@$RIVER_PRO_VERSION \
riverqueue.com/riverpro/driver/riverpropgxv5@$RIVER_PRO_VERSION && \
go mod tidy