loading...
Cover image for ☄️ How to update version's cache of your package in pkg.go.dev?

☄️ How to update version's cache of your package in pkg.go.dev?

koddr profile image Vic Shóstak ・2 min read

How to Golang (3 Part Series)

1) The easiest way to embed static files into a binary file in your Golang app (no external dependencies) 2) Let's write config for your Golang web app on right way — YAML 👌 3) ☄️ How to update version's cache of your package in pkg.go.dev?

Introduction

Hi, DEV people! 😉 Sometimes, when you publish a new version of your Go package, pkg.go.dev may still give away an old version for a long time.

This also means, that if other people are using your package, not be able to update to the new version until the cache is updated.

Let's fix this! 👌

📝 Table of contents

A little story from real-life

That's what we did at Fiber Go web framework a few months ago.

GitHub logo gofiber / fiber

⚡️ Fiber is an Express inspired web framework written in Go with ☕️

After fixed a major bug, a new Fiber version could not be installed on users projects for about a couple of hours, because the cache was not updated. But the press release for the fix was already out (in official repository, Twitter, etc.) and users wanted to update and could not.

Worst-case scenario, isn't it? 😨

↑ Table of contents

Solution

Save this command to a Makefile (or a task manager you're using now):

# ...

update-pkg-cache:
    GOPROXY=https://proxy.golang.org GO111MODULE=on \
    go get github.com/$(USER)/$(PACKAGE)@v$(VERSION)

# ...

And use it, like this:

make update-pkg-cache USER=gofiber PACKAGE=fiber VERSION=1.12.4

Where:

  • USER your GitHub user or organization name
  • PACKAGE a name of your package to update cache
  • VERSION a version number to update cache

It's that simple and clear!

↑ Table of contents

P.S.

If you want more → write a comment below & follow me. Thanks! 😘

How to Golang (3 Part Series)

1) The easiest way to embed static files into a binary file in your Golang app (no external dependencies) 2) Let's write config for your Golang web app on right way — YAML 👌 3) ☄️ How to update version's cache of your package in pkg.go.dev?

Posted on by:

koddr profile

Vic Shóstak

@koddr

Hey! 👋 I'm founder and full stack web developer (Go, JavaScript, Docker & automation) at True web artisans. Golang lover, UX evangelist, DX philosopher & UI Dreamer with over 12+ years of experience.

Discussion

markdown guide