nvm
nvm copied to clipboard
Show the version for "system" in `nvm ls`
Show the actual version from "system" for nvm ls
before:
$ nvm ls
v4.6.1
v5.12.0
v6.9.1
-> v7.0.0
system
xxx -> 5 (-> v5.12.0)
node -> stable (-> v7.0.0) (default)
stable -> 7.0 (-> v7.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> v6.9.1)
lts/argon -> v4.6.1
lts/boron -> v6.9.1
after:
$ nvm ls
v4.6.1
v5.12.0
v6.9.1
-> v7.0.0
system (-> v4.2.6)
xxx -> 5 (-> v5.12.0)
node -> stable (-> v7.0.0) (default)
stable -> 7.0 (-> v7.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> v6.9.1)
lts/argon -> v4.6.1
lts/boron -> v6.9.1
wow ... the build failed error message is soooo long lol ...
The reason I never displayed the system version before is because I didn't want anyone to do nvm use 4.2.6
and have it ever activate the system version. This follows rvm and rbenv's behavior as well.
@ljharb do you mean to prevent confusion about the version managed by nvm and system? I thought this display is very useful so that I don't need to do nvm use system && node --version
to check out the node version of system level, what do you think?
Yes, to prevent that confusion, exactly.
What's the use case for checking the system version more than once in a while?
(also, nvm run system --version
)
As I have more than one development environments, which may including FreeBSD, Ubuntu 14.04, Ubuntu 16.04, Debian 7, Debian 8, etc, they all have their own but different nodejs versions, and when I want to use a certain version of nodejs, I will use nvm ls
to show all the found nodejs versions and see if there is one version I wanted, if the system level got what' I want, I may not need to install it again, that's my point, hope my English is not bad enough to make you confused 😄 Thanks!
About the confusion, maybe use system (v4.2.6)
without the arrow to make it different, is this acceptable?
The arrow isn't the thing I'm worried about, it's the version number.
Even if a certain version is installed on the system, you generally would want to install it again so that nvm
can manage it. Generally speaking the system version is totally ignored - you're either in "system" mode, or "nvm" mode.
Not sure if this my personal scenario only, but sometimes I just want to test if a certain version could work with the certain project, I don't really need it to be managed by nvm
, what about add notes with the output like Latest LTS
does?
I'm fine with adding helpful output next to "system" - but anything that looks like a version number seems like it could dangerously cause confusion.
hmmmm ... then need to think about the how to display since what I want is the version number which is you don't want, haha.
Whatever you come up with, citing examples of other version managers (like rvm, rbenv, virtualenv, etc) and if/how they display the system version would help.
I have not test rvm or the other version managers yet, but come up with system-v4.2.6
.
@PeterDaveHello would you mind rebasing this?
Looks like it needs a rewrite, will take some time, a simple rebase doesn't look so good to resolve the conflict.
that's what i was worried about; the changes to use awk in a bunch of places may have complicated this. it'd be great to update the PR with a rewritten approach, though :-)