One thing that I don't understand about the ecosystem is the hate towards GOPATH. Why introduce a complex dependency system for a package manager when you can just pin submodules with git and reap the same benefits? :)
One thing that I don't understand about the ecosystem is the hate towards GOPATH. Why introduce a complex dependency system for a package manager when you can just pin submodules with git and reap the same benefits? :)
In simpler terms, the people who designed the language don't use GOPATH at all. That's why it's terrible.
Universal:
- apt, yum, brew
Team PATH:
- GOPATH
- CMAKE_PREFIX_PATH
- PYTHONPATH (which Conda, virtualenv, etc modify)
- CARGO_HOME
Team redundant local blob:
- Node
- pipenv
Rust is probably the least-half-assed (most full-assed?) model, with both a sane user-wide default for cache (~/.local/cargo), a way to edit that default, and project location flexibility.
But I actually love the Go notation that I've opted to organize most of my code around the ~/namespace/src/domain/repo scheme. I never lose track of where a folder is :)
Yes I do the same! I don't lately write any Go but I really appreciate the organization this way