Nvm-windows: "$ nvm install 5" does unexpected thing

Created on 16 Mar 2016  路  12Comments  路  Source: coreybutler/nvm-windows

My Environment

  • [ ] Windows 7 or below (not truly supported due to EOL)
  • [ ] Windows 8
  • [ ] Windows 8.1
  • [x] Windows 10
  • [ ] Windows 10 IoT Core
  • [ ] Windows Server 2012
  • [ ] Windows Server 2012 R2
  • [ ] Windows Server 2016
  • [ ] My Windows installation is non-English.

    I have already...

  • [ ] read the README to be aware of npm gotchas & antivirus issues.

  • [ ] reviewed the wiki to make sure my issue hasn't already been resolved.
  • [ ] verified I'm using an account with administrative privileges.
  • [ ] searched the issues (open and closed) to make sure this isn't a duplicate.
  • [ ] made sure this isn't a question about how to use NVM for Windows, since gitter is used for questions and comments.

    My issue is related to (check only those which apply):

  • [ ] settings.txt

  • [ ] proxy support
  • [ ] 32 or 64 bit support

    Expected Behavior

nvm install 5

would install latest version (whatever it was)

Actual Behavior

C:\Users\denman\WebstormProjects\suman>nvm install 5
panic: runtime error: index out of range

goroutine 1 [running]:
_/C_/Users/Corey/Documents/workspace/nvm-windows/src/nvm/web.IsNode64bitAvailable(0x12226134, 0x1, 0x674700)
C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm/web/web.go:153 +0x157
main.install(0x12226134, 0x1, 0x674700, 0x2)
C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm.go:171 +0x484
main.main()
C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm.go:65 +0x64e

Steps to reproduce the problem:

just run

$ nvm install 5

thanks, this is working for me so far! just wanted to let you know that I expected that command to work. Cheers!

enhancement request

Most helpful comment

Some other aliases would also be useful, like unix nvm or node's oficial docker image

nvm install lts -> installs latests lts version
nvm install boron -> installs latest boron version
And as stated before
nvm install 6 -> installs ^6.x.x semver style

All 12 comments

Thanks for the feedback. While this isn't a bug, I appreciate knowing this is the behavior you were expecting. I've marked it as an enhancement request.

np, sounds good!

Looks like we must to tell nvm exact version we want it to install. nvm install 4 will fail with similar errors, but nvm install 4.4.4 will install 4.4.4 version of node...

Why not tell it in Error like unknown version or smth else...

This is actually more important than facilitating convenience. It is needed on CI servers to ensure the latest version is installed. Otherwise I must update our CI configuration every time Node releases a patch.

@jamestalmage - So support for nvm install latest has been around for awhile.

I just released a new version. I don't think it behaves exactly as desired, but it won't error out on something like nvm install 6. Instead, it fills in the minor and patch versions automatically. So, nvm install 6 would install version 6.0.0.

Since this doesn't address the enhancement request in it's entirety, I'm going to leave this open.

Can this feature request also cover nvm use?

That's the command I use the most and it'd be much more convenient to do nvm use 4 to use latest 4.x version I have installed, rather than having to nvm list first to check.

@insin - Yeah, nvm use should pretty much always mirror nvm install syntax. When I get around to implementing this, it should be in both.

@coreybutler if I remember correctly, UNIX nvm install 6 installs the _latest_ version of Node 6, not 6.0.0. That caught me off guard.

Some other aliases would also be useful, like unix nvm or node's oficial docker image

nvm install lts -> installs latests lts version
nvm install boron -> installs latest boron version
And as stated before
nvm install 6 -> installs ^6.x.x semver style

I'm gonna sort of weigh in here(I hope this is the right place for it) and say that I tried to do nvm install 8 which got me:

goroutine 1 [running]:
_/C_/Users/Corey/Documents/workspace/nvm-windows/src/nvm/web.IsNode64bitAvailable(0x1104a0dc, 0x1,     0x674700)
        C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm/web/web.go:153 +0x157
main.install(0x1104a0dc, 0x1, 0x674700, 0x2)
        C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm.go:171 +0x484
main.main()
        C:/Users/Corey/Documents/workspace/nvm-windows/src/nvm.go:65 +0x64e

The paths there referring to Corey look like they might be hard coded somewhere?

According to this @jedwards1211 is correct. Is there any way we can get feature parity with the Linux/Mac version? We want to use nvm for builds across platforms and are unable to due to inconsistencies in nvm.

@stephenmichaelf This particular feature will likely be in parity with nvm in an upcoming release, but there are different philosophies about version management. NVM4W is more in line with n than nvm, so there probably won't be feature parity.

FWIW, NVM4W will be going through a naming change when I get the next major release done, primarily because it will work on all operating systems. I don't know when that will be right now (I have 7 client projects right now... and I'm hiring for anyone reading this)... but I have alot of work complete (been running it on my mac for several months).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Deilan picture Deilan  路  4Comments

thany picture thany  路  4Comments

snerte picture snerte  路  5Comments

keylowgee picture keylowgee  路  6Comments

leiamac picture leiamac  路  4Comments