Repository navigation
Node 11 won't run on Windows Nano Server #25843
Description
Activity
- changed the title
[-]Node 11 won't run on Windows [/-][+]Node 11 won't run on Windows Nano Server[/+]on Jan 31, 2019 @bterlson - thanks for reporting this. Don't know our support statement around Nano server. In addition, either the CI or I have system to test this . Do you want to go for a PR?
- addedreportIssues and PRs related to Node.js diagnostic reports.Issues and PRs related to Node.js diagnostic reports.
on Jan 31, 2019 I would love to PR, but it would take me a lot of time that I don't have right now 😂 If necessary I can poke around here and see if I can find someone to take on this work?
I think the support statement for Windows Nano Server is somewhat irrelevant since we can fix this in a way that "just works" across all Windows versions. So I think you don't really even need CI beyond your normal Windows CI - if you replace the Net* calls with GetVersionEx and GetComputerNameEx and things pass in normal Windows CI you can have pretty high confidence this will work on every Windows.
That said, I am happy to help testing bits on nano server to validate this issue is fixed, and longer term I can help get nano server under CI because, long term, I'd like to see that happen 😄
/cc @bmeck who I was discussing this with earlier
Fwiw, I’ve mentioned this somewhere, but I’d love it if we could replace the platform-specific code with
uv_os_unameas much as possible?Reacted by Brian Terlson and Richard LauI'm planning to work on that this weekend. There is a change I need to make in libuv first though.
Reacted by Anna HenningsenIt looks like
uv_os_unamedoesn't include the hostname, while the current code does query it. Is there a libuv function that includes this?Otherwise the current implementation of
uv_os_unamewould certainly work fine on Nano Server containers.Reacted by Brian Terlson@jstarks I think
uv_os_gethostnamemight do the trick :)Reacted by Brian Terlson and John Starks@cjihrig I'll be around this weekend if you need help! I'll get a nano server VM up and running in anticipation.
Reacted by Colin Ihrig- added a commit that references this issue
on Feb 2, 2019 @bterlson see libuv/libuv#2170. If we take that approach, we should be able to remove the problematic code mentioned in the OP.
Reacted by John Starks- added a commit that references this issue
on Feb 5, 2019 - added a commit that references this issue
on Feb 5, 2019 - added a commit that references this issue
on Feb 6, 2019 - added a commit that references this issue
on Feb 7, 2019 - added a commit that references this issue
on Apr 5, 2019 - added a commit that references this issue
on Jul 23, 2025 - added a commit that references this issue
on Dec 16, 2025
#22712 introduced a dependency on NETAPI32.dll’s NetApiBufferFree and NetServerGetInfo which are not present on Windows Nano Server, and as a result, Node crashes on launch with STATUS_DLL_NOT_FOUND.
Looking at the code in #22712, I can suggest alternative dependencies (admittedly based on limited information/understanding): use GetVersionEx to get OS information, and use GetComputerNameEx to get the machine name.
Both GetVersionEx and GetComputerNameEx are guaranteed to be available on all versions of Windows and so should be preferred over other alternatives (including GetComputerName, which seems to be used in the fallback codepath in #22712).
Please let me know if I can help further with getting this issue resolved!