• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

TinyGrab

Your Trusted Source for Tech, Finance & Brand Advice

  • Personal Finance
  • Tech & Social
  • Brands
  • Terms of Use
  • Privacy Policy
  • Get In Touch
  • About Us
Home » How to install Go on Linux?

How to install Go on Linux?

May 7, 2025 by TinyGrab Team Leave a Comment

Table of Contents

Toggle
  • How to Install Go on Linux: A Comprehensive Guide
    • Method 1: Installing Go from the Binary Distribution
      • Step 1: Download the Go Binary
      • Step 2: Extract the Archive
      • Step 3: Configure Environment Variables
      • Step 4: Verify the Installation
    • Method 2: Installing Go Using a Package Manager
    • Method 3: Building Go from Source
    • Frequently Asked Questions (FAQs)
      • 1. Why is GOPATH important?
      • 2. What is GOROOT?
      • 3. How do I choose a GOPATH?
      • 4. What if I have multiple Go projects?
      • 5. I’m getting “command not found: go” after installation. What’s wrong?
      • 6. How do I update Go to the latest version?
      • 7. What is go modules and how does it relate to GOPATH?
      • 8. How do I enable Go modules?
      • 9. What’s the difference between go get and go mod tidy?
      • 10. Can I have multiple versions of Go installed on my system?
      • 11. How do I uninstall Go?
      • 12. I am getting errors related to “unsafe” package. What should I do?

How to Install Go on Linux: A Comprehensive Guide

So, you’re ready to dive into the world of Go programming on your Linux machine? Excellent choice! Go, with its blazing-fast performance and elegant concurrency, is a fantastic language for building everything from command-line tools to complex microservices. Installing Go on Linux is generally straightforward, but nuances exist depending on your distribution and desired level of control. Let’s break down the process step-by-step to get you coding in no time.

The most common and recommended method is to download the pre-built binary distribution from the official Go website and install it. This involves extracting the archive to a suitable location, typically /usr/local/go, and then configuring your environment variables. Alternative methods include using your distribution’s package manager (e.g., apt, yum, or pacman), or building Go from source for ultimate customization. We’ll cover all these approaches.

Method 1: Installing Go from the Binary Distribution

This is the recommended and most widely used method for installing Go on Linux due to its simplicity and reliability.

Step 1: Download the Go Binary

Head over to the official Go downloads page: https://go.dev/dl/. Find the correct binary distribution for your Linux architecture (likely linux-amd64.tar.gz for 64-bit systems). Download the file using wget or curl directly from your terminal:

wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz # Replace go1.22.1 with the latest version 

Step 2: Extract the Archive

Once downloaded, extract the archive to /usr/local, which is a conventional location for locally installed software:

sudo tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz # Replace go1.22.1 with the downloaded version 

The sudo command grants you the necessary permissions to write to the /usr/local directory. The -C flag tells tar to change to the specified directory before extracting. The -xzf flags specify that the archive is a gzipped tar file and should be extracted.

Step 3: Configure Environment Variables

This is the crucial step! You need to tell your system where to find the Go executable. Modify your shell’s startup file (usually ~/.bashrc, ~/.zshrc, or ~/.profile) to include the following lines:

export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin 
  • GOPATH: Specifies the location of your Go workspace. This is where your Go projects and dependencies will reside. We’ve set it to $HOME/go, but you can choose any directory you prefer.
  • PATH: Extends the system’s path to include the Go executable directory (/usr/local/go/bin) and the bin directory within your GOPATH (where compiled Go binaries will be placed).

Important: After modifying your shell’s startup file, you need to reload it for the changes to take effect:

source ~/.bashrc  # Or source ~/.zshrc, or source ~/.profile, depending on your shell 

Step 4: Verify the Installation

Finally, verify that Go is installed correctly by running:

go version 

This should output the version of Go you installed (e.g., go version go1.22.1 linux/amd64). If you see this, congratulations! Go is successfully installed on your Linux system.

Method 2: Installing Go Using a Package Manager

Many Linux distributions provide Go packages through their respective package managers. This method can be simpler, but the versions available may not always be the latest.

  • Debian/Ubuntu (using apt):

    sudo apt update sudo apt install golang-go 
  • Fedora/CentOS/RHEL (using yum or dnf):

    sudo dnf install golang 
  • Arch Linux (using pacman):

    sudo pacman -S go 

After installation, verify the version as described in Method 1.

Method 3: Building Go from Source

This method offers the most control and allows you to customize the Go build process, but it’s generally more complex and time-consuming. It’s recommended for advanced users who need specific configurations.

  1. Download the Go source code: Download the source code from the official Go website.
  2. Install prerequisites: You’ll need a C compiler (like GCC) and other build tools.
  3. Build Go: Follow the instructions in the src/doc/install.md file within the source code.

Frequently Asked Questions (FAQs)

Here are some common questions and answers related to installing and configuring Go on Linux:

1. Why is GOPATH important?

GOPATH is the root of your Go workspace. It’s where Go expects to find your source code, downloaded packages, and compiled binaries. Properly setting GOPATH is essential for managing dependencies and building Go projects.

2. What is GOROOT?

GOROOT specifies the location where the Go distribution itself is installed. When installing from the binary distribution, the installer automatically determines the location of the Go distribution. However, if you build Go from source, you might need to set GOROOT manually. Package managers usually handle this.

3. How do I choose a GOPATH?

You can choose any directory for your GOPATH. A common convention is $HOME/go, which keeps your Go projects within your home directory. Just make sure the directory exists.

4. What if I have multiple Go projects?

All your Go projects should reside within the src subdirectory of your GOPATH. For example: $HOME/go/src/myproject1, $HOME/go/src/myproject2, and so on.

5. I’m getting “command not found: go” after installation. What’s wrong?

This usually means that the /usr/local/go/bin directory (or wherever you installed Go) is not in your PATH environment variable. Double-check your shell’s startup file and ensure that you’ve correctly added the PATH entry and sourced the file.

6. How do I update Go to the latest version?

For binary distribution installations, download the latest binary, extract it to /usr/local/go (overwriting the existing installation), and reload your shell. For package manager installations, use your package manager’s update command (e.g., sudo apt update && sudo apt upgrade or sudo dnf update).

7. What is go modules and how does it relate to GOPATH?

Go modules are the modern dependency management system for Go. With Go modules, you don’t strictly need a GOPATH. You can work outside of your GOPATH if you enable module support.

8. How do I enable Go modules?

To enable Go modules, set the GO111MODULE environment variable to on:

export GO111MODULE=on 

Add this line to your shell’s startup file for persistent module support.

9. What’s the difference between go get and go mod tidy?

go get is used to download and install packages. go mod tidy cleans up your go.mod file by removing unused dependencies and adding missing ones. It’s good practice to run go mod tidy regularly when working with Go modules.

10. Can I have multiple versions of Go installed on my system?

Yes, but it requires careful management of environment variables. You can use tools like gvm (Go Version Manager) to easily switch between different Go versions.

11. How do I uninstall Go?

For binary distributions, simply remove the Go installation directory (/usr/local/go in our example) and remove the Go-related entries from your shell’s startup file. For package manager installations, use your package manager’s uninstall command (e.g., sudo apt remove golang-go or sudo dnf remove golang).

12. I am getting errors related to “unsafe” package. What should I do?

The “unsafe” package is used for low-level operations and memory manipulation. If you are encountering errors, it means you are trying to use the “unsafe” package without the appropriate permissions or in an incorrect manner. Double-check your code for correctness, and ensure that you understand the implications of using “unsafe” before proceeding. Most applications should not require the use of the unsafe package.

By following these steps and addressing these common questions, you should have a smooth Go installation experience on your Linux system. Now, get coding and build something amazing!

Filed Under: Tech & Social

Previous Post: « How to add a thumbnail to a video on YouTube?
Next Post: Can You Take Outside Food Into Disney World? »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

NICE TO MEET YOU!

Welcome to TinyGrab! We are your trusted source of information, providing frequently asked questions (FAQs), guides, and helpful tips about technology, finance, and popular US brands. Learn more.

Copyright © 2025 · Tiny Grab