goenv
videos
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
goenv
-
GitHub - Clevenio/Goenv: 🐺 Manage Your Applications Go Environment.
What does this have that https://github.com/syndbg/goenv doesn't?
-
Update Go version from CLI
However this is still a neat script OP! I was looking for something like this when installing Go for the first time and was contemplating between goenv, gvm, and asdf before settling on brew.
-
Discussion: about "go install" versus brew when available
There are Go version managers (like goenv) that let you install multiple versions of go without polluting global PATH/GOBIN/GOPATH.
-
Managing multiple Go versions in the local environment
I use GoEnv. I hate that I have to do it, but I have valid (if annoying) reasons. I'd rather just keep the most recent version installed.
-
goenv VS goenv - a user suggested alternative
2 projects | 17 Sep 2022
https://github.com/syndbg/goenv is a shell implementation that uses a shim to make calls to go. drewgonzales360s version will symlink to whichever version of Go a user chooses.
-
How do you manage multiple versions of Go?
I am surprised I only saw one comment for goenv. This is literally the easiest way for all languages that have something similar (Python, Ruby, Go, Terraform, etc.). You need to uninstall all your go binaries, then install goenv, and all you have to do is to put in a project a .go-version file containing a single line with the version you need. The files are searched by the tool in a hierarchical order: if in the current directory where go is ran, no .go-version file is found, the tool will look up one directory, if there’s no ../.go-version will try again and so on. Let’s say in the end you will want to run the same go-version across all your projects, all you have to do is to find the first common parent directory and put a .go-version file in there, or simply just put a file in the root directory (/.go-version) or just use the global file (~/.goenv/version).
-
How can we push homebrew to update go package?
Not really answering your question but if you want to use Go 1.18 already there's a Go versions management tool called goenv that already has Go 1.18 and you can use already.
-
How to create custom pod with Kubebuilder
Kubebuilder doesn’t support Go 1.17, so we need to install Go 1.16. I decided to use goenv to manager Go versions.
-
NVM equivalent in go?
i use goenv. works like a charm.
videos
- NvimTree vs NeoTree
-
Discussion: about "go install" versus brew when available
You can also do something similar with direnv for example (see 1 and 2); and even better if you use the tools.go paradigm then you can have different versions of your binaries relative to your project as well.
-
How to generate translations for multiple packages inside same module
Example for reference.
-
Go Package for testing HTTP interactions: github.com/dnaeon/go-vcr
Please refer to the full example code for more details.
-
Go Package for Mocking HTTP Traffic: github.com/h2non/gock
There's a simple CLI tool I built for requesting OpenWeather information using their API, please refer to the final repository for actually running the full examples.
-
Set struct in Redis
You don't mention what package you're using, but if you're using github.com/go-redis/redis/ you can marshal your struct using encoding/go and then use the SET and SET commands because for Redis everything is bytes, see https://github.com/MarioCarrion/videos/blob/main/2021/03/11-golang-microservices-caching-redis/redis.go I have video covering that exactly: https://youtu.be/wj6-w0DLKRw
-
Building Microservices in Go: Accessing PostgreSQL Databases - Part 1
The full code example mentioned in this post is available on Github, please make sure to read the README for specifics.
-
Building Microservices in Go: Caching using memcached
The code of the examples below are available on Github.
-
Go Package for Equality: github.com/google/go-cmp
Below there are some code snippets, please refer to the final repository for actually running the complete code examples.
-
Go Tools: For database schema migrations
Repository including the code example.
What are some alternatives?
GVM - Go Version Manager
Memcached - memcached development tree
gvm - Go Version Manager (gvm) enables seamless installing and swapping between Go versions with a single command. This tool manages a Go environment for the user by allowing a user to specify which Go version they wish to use and handling all of the steps to install and configure that Go version. GVM also supports installing Go from the official Golang master branch so that you can easily try the next version of Go without waiting for a pre release build.
tern - The SQL Fan's Migrator
asdf-golang - Go plugin for the asdf version manager
gobuffalo/pop - A Tasty Treat For All Your Database Needs
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions [Moved to: https://github.com/nvm-sh/nvm]
migrations - SQL database migrations for Golang go-pg and PostgreSQL
gimme - Install go, yay!
go-database-sql-tutorial - A tutorial for Go's database/sql package
g - Simple go version manager, gluten-free
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽