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 by Renee French, licensed under Creative Commons 4.0 Attribution licence.
Differences from Upstream Go
-
Windows 7 Support
Whilst the official Go project has dropped support for Windows 7, this fork maintains compatibility with Windows 7 systems. -
Classic
go getBehaviour
This fork allows for the deprecatedgo getbehaviour whenGO111MODULEis set to "off" or "auto". This means:- In
GOPATH/src,go getandgo installcan operate inGOPATHmode. - Outside of
GOPATH/src, these commands can use module-aware mode when appropriate.
- In
-
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 getbehaviour 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
- Download the
go-legacy-win7-<version>.windows-<arch>.zipfile. - Extract the ZIP to
C:\Go(or any preferred location). - Add
C:\Go\bin(or your chosen path) to the systemPATH. - Add
%USERPROFILE%\go\binto the userPATH. - Add
%USERPROFILE%\goasGOPATHto user variables.
macOS Installation
- Download the appropriate
go-legacy-win7-<version>.darwin-<arch>.tar.gzfile. - Extract the archive to
/usr/local:sudo tar -C /usr/local -xzf go-legacy-win7-<version>.darwin-<arch>.tar.gz - Add
/usr/local/go-legacy-win7/binto your PATH and set GOPATH:- For bash (if you're using bash):
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.bash_profile echo 'export GOPATH=$HOME/go' >> ~/.bash_profile source ~/.bash_profile - For zsh (default on macOS Catalina and later):
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.zshrc echo 'export GOPATH=$HOME/go' >> ~/.zshrc source ~/.zshrc
- For bash (if you're using bash):
Linux Installation
- Download the appropriate
go-legacy-win7-<version>.linux-<arch>.tar.gzfile. - Extract the archive to
/usr/local:sudo tar -C /usr/local -xzf go-legacy-win7-<version>.linux-<arch>.tar.gz - Add
/usr/local/go-legacy-win7/binto your PATH and set GOPATH:- For bash (default on most Linux distributions):
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.bashrc echo 'export GOPATH=$HOME/go' >> ~/.bashrc source ~/.bashrc - For zsh (if you're using zsh):
echo 'export PATH=$PATH:/usr/local/go-legacy-win7/bin:$HOME/go-legacy-win7/bin' >> ~/.zshrc echo 'export GOPATH=$HOME/go' >> ~/.zshrc source ~/.zshrc
- For bash (default on most Linux distributions):
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.
go get behaviour