andrewkroh / gvm

Go Version Manager (written in Go for cross-platform usability)
Apache License 2.0
195 stars 24 forks source link

A few suggestions... #3

Closed navossoc closed 6 years ago

navossoc commented 7 years ago

Hi, I'm using gvm for Windows, so, not sure how you will deal with the differences between OS's... But, may I suggest a different approach for this tool?

Here: https://github.com/coreybutler/nvm-windows#whats-the-big-difference

They use a symlink to change the version of node "on the fly", so you don't need to restart your program to change the environment variables. Just change the symlink and done!

Also, there are some commands that may be helpful, like the "nvm use"... Which I think you can bring to here, it will be really interesting.

This should be interesting too: https://github.com/coreybutler/nvm-windows/issues/214

I think you can grab a lot of good ideas from here too: https://github.com/danielkermode/gvm

As I said, those are just a few suggestions.

[]'s

andrewkroh commented 7 years ago

Thanks for the feedback. I hadn't considered using symlinks (especially on Windows), but I can see how that would make life easier for Windows users. It would be easier to run a simple command like gvm use 1.8.3 than to remember gvm --format=powershell 1.8.3 | Invoke-Expression.

navossoc commented 7 years ago

Exactly, it will be much more easier...

Probably the symlink idea can be used on all platforms, not sure about the permissions needed to create it, but, a little research may answer that.

urso commented 6 years ago

Is switching in nvm 'global'? I have a many shells and sometimes even use different go versions in the different shells (I'm no windows user ;) ). E.g. for testing. At least for me, using a symlink and globally changing the active go compiler would mess with my normal flow.

navossoc commented 6 years ago

Is switching in nvm 'global'?

Currently it is using environment variables, so probably no...