nodejs / help

:sparkles: Need help with Node.js? File an Issue here. :rocket:
1.46k stars 278 forks source link

Installation of Nodejs 14 on Windows 7 #3878

Closed Venkatesh-25 closed 4 months ago

Venkatesh-25 commented 2 years ago

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.

VoltrexKeyva commented 2 years ago

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).

TheJaredWilcurt commented 2 years ago

For those on Windows 7:

  1. Use a Node version manager to be able to switch versions:
  2. 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.
  3. 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
  4. 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"
      • 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.
Venkatesh-25 commented 2 years ago

Thanks, I've just bought a new pc with Win 11. At least I hope that this would work. Thanks again.

Venkatesh-25 commented 2 years ago

Thanks

victor0812787 commented 1 year ago

is not working om PC

nolimitdev commented 1 year ago

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

Psychosynthesis commented 1 year ago

God, how stupid, to remove system support because of one function that... returns the hostname... brilliant, simply brilliant...

rebb commented 11 months ago

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.

Vitch612 commented 6 months ago

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.

Venkatesh-25 commented 6 months ago

Yes. people are forgetting where they started this all from.

i486 commented 5 months ago

You guys should check out VxKex

Latest version on Windows 7 before applying VxKex**

image

Latest version on Windows 7 after enabling VxKex**

image

nolimitdev commented 5 months ago

@i486 https://www.virustotal.com/gui/file/652f6d2901c86de4a05743b5f808fafb6e28b9720c39bce5e7e031d26cac9035/detection 43/71 security vendors and no sandboxes flagged this file as malicious

01

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

anzz1 commented 4 months ago

@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.

Vitch612 commented 4 months ago

@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

Venkatesh-25 commented 4 months ago

@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'

Psychosynthesis commented 4 months ago

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:

  1. 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.
  2. Install the 14th (to the directory where you want your node to end up).
  3. 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.

Снимок экрана от 2024-04-25 22-56-00

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.

nolimitdev commented 4 months ago

@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

Psychosynthesis commented 4 months ago

@nolimitdev v20 won't work, i tried that.

nolimitdev commented 4 months ago

@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?

RedYetiDev commented 4 months ago

I'm closing this issue for a few reasons

1) as mentioned by @VoltrexKeyva, Node.js does not provide support for End-of-Life products, such as windows 7.

2) 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.

Koodalarasan-FSD commented 3 months ago

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

RedYetiDev commented 3 months ago

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.

NewEraCracker commented 3 months ago

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:

Related: https://stackoverflow.com/a/64626035 & https://github.com/nodejs/help/issues/3878#issuecomment-2078085233

Revanth-024 commented 1 week ago

https://nodejs.org/download/release/ check this out