The Go Programming Language

go-legacy-win7 is a fork of the Go programming language that maintains Windows 7 support and allows for deprecated go get behaviour. This project aims to provide a stable Go environment for users who need to support legacy Windows systems or prefer the traditional Go workflow.

Gopher image Gopher image by Renee French, licensed under Creative Commons 4.0 Attribution licence.

Differences from Upstream Go

  1. Windows 7 Support
    Whilst the official Go project has dropped support for Windows 7, this fork maintains compatibility with Windows 7 systems.

  2. Classic go get Behaviour
    This fork allows for the deprecated go get behaviour when GO111MODULE is set to "off" or "auto". This means:

    • In GOPATH/src, go get and go install can operate in GOPATH mode.
    • Outside of GOPATH/src, these commands can use module-aware mode when appropriate.
  3. Compatibility Notes
    Please be aware that some newer Go features may not be fully compatible with Windows 7. We try to maintain as much functionality as possible, but some limitations may exist.

Changes in Each Release

Every release includes the following modifications:

  • Restored Windows 7 support by reverting 693def1
    • The Windows binary provided here also supports Windows 7
  • Restored deprecated go get behaviour for use outside modules (reverted de4d503)
  • Includes all improvements and bug fixes from the corresponding upstream Go release

Download and Install

Binary Distributions

Binary distributions are available at the release page.

Windows Installation

  1. Download the go-legacy-win7-<version>.windows-<arch>.zip file.
  2. Extract the ZIP to C:\Go (or any preferred location).
  3. Add C:\Go\bin (or your chosen path) to the system PATH.
  4. Add %USERPROFILE%\go\bin to the user PATH.
  5. Add %USERPROFILE%\go as GOPATH to user variables.

macOS and Linux Installation

  1. Download the appropriate go-legacy-win7-<version>.<os>-<arch>.tar.gz file.

    • For macOS: go-legacy-win7-<version>.darwin-<arch>.tar.gz
    • For Linux: go-legacy-win7-<version>.linux-<arch>.tar.gz
  2. Extract the archive to /usr/local:

    sudo tar -C /usr/local -xzf go-legacy-win7-<version>.<os>-<arch>.tar.gz
    
  3. Add /usr/local/go-legacy-win7/bin to your PATH and set GOPATH:

    • For bash:
      echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go/bin' >> ~/.bash_profile
      echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
      source ~/.bash_profile
      
    • For zsh:
      echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go/bin' >> ~/.zshrc
      echo 'export GOPATH=$HOME/go' >> ~/.zshrc
      source ~/.zshrc
      

    Note:

    • On macOS Catalina and later, zsh is the default shell.
    • On most Linux distributions, bash is the default shell.

After installation, verify the installation by opening a new terminal and running:

go version

Install From Source

To install from source, please follow the steps on the official website.

Contributing

Feedback and issue reports are welcome, and we encourage you to open pull requests to contribute to the project. We appreciate your help!

Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.

Description
Go programming language with Windows 7/Windows Server 2008 R2 support* plus classic go get behaviour
Readme BSD-3-Clause 44 MiB
Languages
Go 94.3%
Assembly 5.2%
C 0.2%
Shell 0.1%