help
help copied to clipboard
Installation of Nodejs 14 on Windows 7
Details
This is a serious thing to look at... We the people who are using Windows 7 also have the Right to Install Nodejs. I wanted to install React Native on my Windows 7 PC, but to install React Native we need Nodejs 14 or above... But Nodejs 14 isn't supported for Windows 7... Still numerous people are using Windows 7 out there... This must be fixed... This is a huge problem to look at... Thanks...
Node.js version
Not applicable.
Example code
No response
Operating system
Windows 7
Scope
Installation
Module and version
Not applicable.
As there are numerous people who still use Windows 7, there are also numerous issues that has to be faced to keep releasing compatible builds with Windows 7.
There also are people who use other older operating systems that we no longer publish releases to, as their vendor has expired support for them and so we should to not only reduce the burden of us working on the project, but also to encourage people to upgrade if possible to get better support and stability.
Windows 7 reached its EoL (End-of-Life) stage already as stated here.
And we don't publish compatible builds to any of the other operating systems that their vendor has expired support for them as stated here, not just Windows 7.
Node.js does not support a platform version if a vendor has expired support for it. In other words, Node.js does not support running on End-of-Life (EoL) platforms.
We understand that some peoples' devices/machines does not support upgrading to a newer edition of said operating systems, although we also have to deal with lots of issues ourselves to keep it compatible. For example, as Windows 7 has reached its EoL stage, Microsoft no longer provides support for it, yet increasing the chance of users not getting the needed support, and the newer versions of dependencies and other software we use in Node.js may not be compatible with Windows 7 either.
If your device/machine doesn't support upgrading to a newer edition of Windows (such as Windows 10 or Windows 11), I would recommend switching to a different operating system that we still publish compatible builds to, operating systems that still may be compatible with your device/machine, such as Linux distributions (Ubuntu, Fedora, Linux Mint, or more advanced ones such as Arch Linux, there are many other Linux distributions you can choose from).
For those on Windows 7:
- Use a Node version manager to be able to switch versions:
- https://volta.sh - Installs on Win 7 with no problems and no fuss
- https://github.com/nullivex/nodist - Supports Win 7
- nvm-windows does not officially support Win 7
- Use Volta or Nodist to install/use Node 13.13.0 - the last official version to support Win 7
- The further you get away from 13.13.0, the more likely something will have been changed in Node in a way that it won't work properly/reliably on Win 7.
- If you have a need to use Node 14+, first off, just try it on a different machine with a newer OS, or run it in a Linux VM running on top of Win 7
- If you really need to run 14+ directly on Win 7:
- Right-click "My Computer"
- Properties
- Advanced System Settings
- Environment Variables...
- System variables > New
- Variable name:
NODE_SKIP_PLATFORM_CHECK - Variable value:
1 - Click "OK"
- Variable name:
- Click "OK"
- Then close all command prompts/powershells/terminals, open a new one and use Volta/Nodist to install/use the needed Node version. But know that it probably won't work great and might crash.
Thanks, I've just bought a new pc with Win 11. At least I hope that this would work. Thanks again.
Thanks
is not working om PC
Nodejs v14 can be used on Win7 but probably last version is v14.17.6 https://nodejs.org/download/release/v14.17.6/ + you must set env var NODE_SKIP_PLATFORM_CHECK=1 Newer v14 versions requires GetHostNameW in WS2_32.dll which is not available on Win7.
The procedure entry point GetHostNameW could not be located in the dynamic link library WS2_32.dll
https://stackoverflow.com/questions/72155835/how-to-solve-the-procedure-entry-point-gethostnamew-could-not-be-located-in-the
UPDATE: to use nodejs v14, v16, v18 and also v20 on windows 7 see https://github.com/nodejs/help/issues/3878#issuecomment-2078266883
God, how stupid, to remove system support because of one function that... returns the hostname... brilliant, simply brilliant...
God, how stupid, to remove system support because of one function that... returns the hostname... brilliant, simply brilliant...
Quite a few projects that "dropped Windows 7 support" i've seen, dropped it not because of a good proper hard reason, but just because someone on their team decided that "we should conform", it was the same with Python - some guy on their mailing list just had the great idea to drop support at some point - just because.
Meanwhile other projects are holding up just fine to this day.
It seems to just depend if there's people on the respective teams that care about keeping the support in or not. It's a mess. And the mess that followed Win7 End of Support will probably just be a preview for what happens when MS decides to drop support next time.
God, how stupid, to remove system support because of one function that... returns the hostname... brilliant, simply brilliant...
Glad to see I am not alone in feeling those compatibility drops are mostly ridiculous and based on sheer laziness. Not sure what kind of mentality today's devs have - they are probably dominated by idiots as so many ridiculous trends seem to indicate - but maximum compatibility is part of what should be our deontology.
Yes. people are forgetting where they started this all from.
You guys should check out VxKex
Latest version on Windows 7 before applying VxKex**
Latest version on Windows 7 after enabling VxKex**
@i486
https://www.virustotal.com/gui/file/652f6d2901c86de4a05743b5f808fafb6e28b9720c39bce5e7e031d26cac9035/detection
43/71 security vendors and no sandboxes flagged this file as malicious
Author explanation is very poor https://github.com/vxiiduu/VxKex/issues/122#issuecomment-1996973102
If you downloaded it from this official github releases page then it's not a virus.
Also source (so and commits history) is not a part of github directly but just as archive to download: https://github.com/vxiiduu/VxKex/issues/112
@nolimitdev No one cares about AV detections, AV software suck ass and only exist to be thorns in developers' asses. I've wasted so much time sending legitimate software to various AV companies to be whitelisted that I can't even count; their shitty heuristics detect anything as a virus all the while their products do nothing to stop the spread of actually malicious stuff (WannaCry ring a bell?).
Post some actual fucking proof before making implied accusations. The generation who grew up in the social media age seem to have completely forgot that you're supposed to have proof before you start pointing fingers. You know, the legal maxim of presumption of innocence which our entire foundation of justice is based on dating back 1500 years to the ancient Romans (though even more ancient civilizations have used such principle). The author owes you absolutely nothing and doesn't have to explain himself to you, the onus in on you to prove maliciousness, not on the accusee to prove their innocence. I am baffled I even have to explain such concept to someone living in the modern times.
@anzz1 what makes you feel you're entitled to be this rude while talking about something that is completely out of topic for this issue? This discussion is only about running nodejs on windows 7 and those who made it were kind enough to share the results of their testing to allow us to identify the latest version of nodejs that does run on windows7 before running into issues. This only applies to the main trunk of nodejs. They have no obligation to guarantee that every add-on or module that contains some native binaries will actually run. @nolimitdev 's response was in essence (implicity but clearly enough for those who have the ability to understand what they are reading): this is marginal add-on which in addition to being marginal might also be suspicious and therefore no time will be spent in troubleshooting this. instead of thanking them for their time you hijack this thread to turn it into an argument about a module being or not being malicious? not only is this out of topic but it is very rude. kindly apologize and admit you were out line
@anzz1 by the clear understanding of the comment you've made, we understood that you are completely out-of-the context for our issue, also we got very clear that you have no experience in the field and seems like you are here to show dominance among us, which would never work. coming to the 'proofs' damn sure you have issues with your sight.
we don't want this all to turn into an argument, so it would be better if you apologize...
'Thanks @Vitch612 for still being a part of this thread'
Okay, guys, since you have reanimate this thread, I want to note that I found a way to put even the 16th version on win 7, without VxKex.
And, basically, it even works, except for extremely rare glitches. So, here we go:
- Download the latest version 14.17.6 that works on the seven. Need do everything as in the comment above - before installation, add a variable to the PATH, etc.
- Install the 14th (to the directory where you want your node to end up).
- After that, download the executable with version 16.20.2 for win x64. Unpack the files into any folder, and then simply copy the files from the folder with the 16th version to the folder with the previously installed 14th.
Voila, everything works.
There are also limitations, unfortunately. I once encountered the fact that some packages do not work. In particular, I could not install node-gyp (it was needed to compile plugins for the node). But this is a rather specific thing, not everyone needs it.
@Psychosynthesis imagine that you can run nodejs v18 and also v20 on windows 7, but of course specific npn packages may fail. Hack with replacing files in v14 instalation folder is not needed. Just extract v16/v18/v20 where you want and if you want working node command globally in command line set that path to Path env var.
To use v14 branch and newer you must set NODE_SKIP_PLATFORM_CHECK=1. From v14 branch latest working is v14.17.6 (newer fails due to missing WS2_32.dll). But newer branches again works! I can confirm that nowadays these latest v16.20.2, v18.18.2 works and from v20 branch works only until v20.2.0 including (newer fails due to missing KERNEL32.dll).
https://stackoverflow.com/questions/62212754/latest-nodejs-compatible-with-windows-7/64626035#comment136351699_64626035
@nolimitdev v20 won't work, i tried that.
@nolimitdev v20 won't work, i tried that.
What version exactly please? Did you notice this v20 branch works only until v20.2.0 including?
I'm closing this issue for a few reasons
-
as mentioned by @VoltrexKeyva, Node.js does not provide support for End-of-Life products, such as windows 7.
-
In several comments, comment authors seemed to be upset at the Node.js team for the decisions they made. In my opinion, but others may disagree, this behaviors hurts the community more than it helps.
If you don't like the way Node.js is steering, please discuss it politely with Technical Steering Committee. Commenting here against developers (of any software) is rude and off-topic.
@nolimitdev
No one cares about AV detections, AV software suck ass and only exist to be thorns in developers' asses. I've wasted so much time sending legitimate software to various AV companies to be whitelisted that I can't even count; their shitty heuristics detect anything as a virus all the while their products do nothing to stop the spread of actually malicious stuff (WannaCry ring a bell?).
Post some actual fucking proof before making implied accusations. The generation who grew up in the social media age seem to have completely forgot that you're supposed to have proof before you start pointing fingers. You know, the legal maxim of presumption of innocence which our entire foundation of justice is based on dating back 1500 years to the ancient Romans (though even more ancient civilizations have used such principle). The author owes you absolutely nothing and doesn't have to explain himself to you, the onus in on you to prove maliciousness, not on the accusee to prove their innocence. I am baffled I even have to explain such concept to someone living in the modern times.
I mentioned inappropriate comments a bit in my previous message, but I would like to address this specifically.
This comment was uncalled for. The behavior displayed is rude and inappropriate. We are one community, and we should treat others with respect.
Please do not post similar comments on Node.js repositories, as posting such is a violation of our code of conduct, which clearly states that "insulting" comments are unacceptable. Please refer to the following snippet and link:
Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
https://github.com/nodejs/admin/blob/main/CODE_OF_CONDUCT.md
[!TIP] This is my personal opinion, and may not reflect the opinions of everyone else involved with Node.js
Hello @everyone - Comment Typed Duration:May-2024, If you still wanna install Node.js on Windows 7, Use these official link https://nodejs.org/en/blog/release/v12.22.3
Hello @everyone - Comment Typed Duration:May-2024, If you still wanna install Node.js on Windows 7, Use these official link https://nodejs.org/en/blog/release/v12.22.3
Keep in mind that this version of Node.js has reached EoL.
Hello @everyone - Comment Typed Duration:May-2024, If you still wanna install Node.js on Windows 7, Use these official link https://nodejs.org/en/blog/release/v12.22.3
Keep in mind that this version of Node.js has reached EoL.
I could not care less as it is just a development machine and our servers run later supported versions.
I have installed latest v12, then downloaded the latest v16 zip file and proceeded in the following way:
- Set the system variable:
NODE_SKIP_PLATFORM_CHECK=1 - Deleted
node_modulesandnode.exefrom the installed location at program files; - Extracted the files from the ZIP without replace. The original command line files at program files have some magic so the versions installed by the installer should be kept.
Related: https://stackoverflow.com/a/64626035 & https://github.com/nodejs/help/issues/3878#issuecomment-2078085233