-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"nvm use" and" nvm install" set a successful exit code when failing #738
Comments
Switch to installing node on Windows using NVS rather than NVM. NVS is not installed by default, so use Chocolatey to install it. NVM currently has two shortcomings that make it difficult to use in automation. "nvm install 16 && nvm use 16" doesn't work because "use" appears to need an exact patch version specified, which would involve parsing the output of "install" or of "list" since we only lock to major verisons. coreybutler/nvm-windows#708 "nvm use" and "nvm install" both give successful exit statuses even when they fail with an error message. This meant that when we did "nvm use 16", it failed because of the above bug, but the job kept on running and used the default version of Node installed in the image. Working around this would again involve parsing output. coreybutler/nvm-windows#738 In my testing, NVS appears to have neither of these problems. I had also considered installing Node directly via Chocolatey, but Chocolatey does not yet support installing particular versions unless the packager has appended the version number to the name. This also implies that likely only the latest major version gets updates.
This seems reasonable. I'll look into this in the next round of updates. If someone wants to submit a PR before then, it would save some time. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
Apologies that I have not had an opportunity to work on a PR for this. Commenting to make sure that this issue doesn't get closed for being stale specifically because you mentioned interest in it. Thanks! |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
This issue was closed because it has been stalled for 7 days with no activity. |
I encountered this issue as well today, are there plans to fix it? The workaround for me currently is to run
(I know this is a philosophical issue but I think you need to get rid of the bot that pretends that things are fixed when they aren't: it's hostile to users 😭) |
@mcdurdin I've tried to configure that bot more times than I can count. It's not perfect, but it does close a lot of abandoned issues that I request more information for and never get. I'll re-open this so I'll remember it for the next release. It may be a while though, seeing as our code-signing cert got locked and I'm still trying to get it unlocked with the vendor. |
@coreybutler Thank you! |
Issue:
When
nvm use
is passed a non-installed version of Node, it correctly outputs an error message, but then sets its exit code 0, indicating success. Similarlly, whennvm install
is passed an unrecognized version, it correctly outputs an error message, but also sets exit code 0, indicating success.These make using nvm in a CI environment, or as part of any other automation, difficult because it is not easy to detect when they've failed.
How To Reproduce:
On Windows 10 21H1:
Expected Behavior:
I would expect any
failure of
installor use
to result in the exit code being anything other than 0, to indicate failure.Thank You:
nvm-windows is an invaluable part of the Node ecosystem on Windows. Thank you very much for creating and maintaining it!
The text was updated successfully, but these errors were encountered: