gvm
gvm copied to clipboard
add support for system-wide go install
gvm is great for managing user-specific or version-specific install of go, but doesn't support management of the system's version of go (used by default if a user hasn't installed gvm).
to simplify deployment and use of go apps to app-specific VMs or docker containers, where multiple versions likely aren't necessary, it would be nice to be able to install / manage the system version of go (/usr/bin/go). this would also allow a great cross-platform method of installing go, as no OS-specific packages are supported (rpm, apt/deb, etc.).
Bump for this feature!
This seems contrary to the intent of a version manager. The installation method for Go is unambiguous and easy to follow.
:-1: from me.
@sgerrand Huh? What if you want several versions available to different users across the system?
That use case seems fine to me, but appears different to this issue's description as currently phrased.
@sgerrand
The installation method for Go is unambiguous and easy to follow.
if you're installing / removing / maintaining it manually, then yes... it is straightforward and easy to follow the instructions. if you're automating the installation of go across multiple platforms, particularly for those where OS packages don't exist (like ubuntu), then a universal go installation manager would be of high value.
some reasons why this would be helpful:
- if dev and ops are using the same tools to manage go versions and environments, it will be easier to maintain parity across environments and keep production stable.
- a system-wide go would be helpful for quickly bootstrapping servers with common admin apps, without having to set user-specific properties for all users on the system.
- updating / maintaining a system-wide version of go would be much easier with something like gvm, as it is for Ruby with rvm or rbenv.
- using a common tool like gvm would help make applications reliably portable across different customer environments (as go would be installed in a similar manner). without OS-specific packages, go installations will likely vary from environment to environment.
@skottler, having a system-wide installation of go isn't mutually exclusive of a user-specific installation. Tools like rvm and rbenv for ruby allow a system default to be easily overridden per user.
bump
Bump.
The installation method for Go is unambiguous and easy to follow.
Perhaps, but I don't want to have to figure it out all over again every few months, specially with cross compiler installs and all that.
+1
+1, the current per-user install is not at all dev-ops friendly.
+1
+1
If running on Ubuntu, we moved to godeb regarding the Docker scenario:
RUN wget https://godeb.s3.amazonaws.com/godeb-amd64.tar.gz && tar -xvzf godeb-amd64.tar.gz && rm -f godeb-amd64.tar.gz
RUN ./godeb install 1.11.4
Hopefully it helps someone ✌️