-
Notifications
You must be signed in to change notification settings - Fork 0
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
Any plans for Node v18 and v20 ? #1
Comments
Hi, I am pleased to hear that my work is beneficial. There are additional things to consider regarding Node.js v18:
I cannot say anything regarding Node.js v20 since I need to inspect which changes related to the interaction with Windows are introduced in v20. Everything which is needed from you is patience. |
Hi, thank you for the quick and detailed response! There have been discussions for changing the GYP build system with something better but I doubt there is a consensus: By the way, have you faced problems compiling |
I do not see any reason for building Node.js on a virtual machine as long as it builds on the host OS and does not conflict with other development tools. Node.js does not necessarily need to be targeted for a specific Windows version, including Windows 7; removing the formal OS version check is enough. In versions 14 and 16 of Node.js, |
One of the reasons for building Node on a VM would be because I am a web developer and besides Node.js and NPM I have no desire of installing VisualStudio, Windows SDK, Python on my development machine - I would build Node once, throw away the VM and then simply use the EXE on my regular Win7 PC. I am not using Node.js native add-ons - so I don't need GYP and/or Python on my dev PC. I have seen a patch for the |
I understand your argument regarding the use of a virtual machine. I am not familiar with the forks of |
Thank you, @vladimir-andreevich |
Thank you! The work is not that hard but rather time-consuming since I solve problems much harder than this at the university. |
I truly understand your feelings - I experience the same when I fight with bugs in some NPM packages and spend numerous hours to debug the issues. I have created and collected patches for almost 2 dozens of packages, some of them for multiple versions. |
Node.js 18 is ready! Test it by running complex projects using it on your Windows 7 machine. Let me know whether everything works fine. |
I experimented with it for a while but did not manage to reproduce this problem, both in the 32-bit version and the 64-bit version. The specific command to display the version of Node.js that is currently installed works fine for me. I have an idea how to fix it... I need a bit more hours for compilation. |
I believe that Node v18 (either your compiled instance or the pure original) somehow needs a more recent version of ADVAPI32.dll - and since I am with clean Service Pack 1 with just a few updates on top, I downloaded more recent versions of the following DLLs and put them in the binary folder of the installed Node v18:
However, it does not seem to pick these locally present DLLs and instead tries to load the system ones - and thus fails with the missing exported functions. |
I also tried with |
There is no need to use Windows 7 SDK to build the project because the problem is not related to the development tools. I am already working on the solution. |
I found the solution, and it is not related to Node.js at all. This was a problem inside Windows 7. The error was caused by the internal occasional event decoding issue in the Trace Data Helper. This problem was fixed in the update KB3080149. Install this update, and everything should work fine. |
I think that it is something different. Node v18 provides a feature called user-land snapshots The GYP file specifies that this feature (which comes from V8) will be build by running the Since the string For example, the file <?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0" description="Fix for KB3080149" displayName="default" company="Microsoft Corporation" copyright="Microsoft Corporation" supportInformation="http://support.microsoft.com/?kbid=3080149" creationTimeStamp="2015-07-23T12:36:40Z" lastUpdateTimeStamp="2015-07-23T12:36:40Z">
<assemblyIdentity name="Package_225_for_KB3080149" version="6.1.1.1" language="neutral" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" />
<package identifier="KB3080149" releaseType="Update" restart="possible">
<parent buildCompare="EQ" serviceCompare="GE" integrate="separate" disposition="detect">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" language="neutral" version="6.1.7601.17514" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" buildType="release" />
</parent>
<installerAssembly name="Microsoft-Windows-ServicingStack" version="6.0.0.0" language="neutral" processorArchitecture="amd64" versionScope="nonSxS" publicKeyToken="31bf3856ad364e35" />
<update name="3080149-548_neutral_LDR">
<applicable disposition="staged">
<updateComponent elevate="revision">
<assemblyIdentity name="Microsoft-Windows-Unified-Telemetry-Client" version="6.1.7601.23142" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
</updateComponent>
</applicable>
<component>
<assemblyIdentity name="efa3d2d4428850575377f84ae17e1713" version="6.1.7601.23142" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
</component>
</update>
<update name="3080149-549_neutral_GDR">
<applicable disposition="staged">
<updateComponent elevate="install">
<assemblyIdentity name="Microsoft-Windows-Unified-Telemetry-Client" version="6.1.7601.18939" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
</updateComponent>
</applicable>
<component>
<assemblyIdentity name="48e58db7d4e45a3c24f0651b4d89e153" version="6.1.7601.18939" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
</component>
</update>
</package>
</assembly> Notice the text I don't have enough knowledge how to edit the MSU or the CAB file of KB3080149 to exclude the telemetry and only install the useful DLL updates. I have extracted the CAB file from the MSU file but I have no clue how to edit the MUM files or whatever is needed in order to remove the telemetry and then install the result with I was hoping that Node v18 can be somehow build (perhaps by somehow changing the GYP file) without the snapshots feature - but I have no success at this moment (as shown in the screenshots above). Any ideas how to achieve that, or if it's possible at all? |
Building Node.js for Windows 7 without core features which create errors without KB updates is not the goal of this repository — the aim is to provide the runtime environment without modifying its core functionality or with minimal changes to it in case there is no other workaround found. The changes here are related to the platform-specific code. If you do worry about privacy, and you do not want to install the update KB3080149, what I can do — I can compile Node.js specifically for you where I disable the run-time user-land snapshots such that Node.js does not depend anymore on the problematic part of Windows Trace Data Helper. |
Yes, I definitely do not want any kind of spyware or telemetry or surveillance on my computer. I am concerned not just about my privacy but also about spending CPU, RAM and network bandwidth for something that benefits a big corporation instead of me. However, this morning I found this extended kernel for Win7 and tried it. And it works! |
It is great that it works! I recommend you stick to this approach. Extended kernel for Windows 7... This is something I should consider doing in the future. |
I have an ISO which is called
I will definitely stick with VxKex but if it really does not spend too much of your time (and you already know the answer) - would you like to educate me what and where exactly should I modify in order to compile this disaster without the snapshots feature ? I use Node.js only for frontend development - so I don't really care for the snapshots feature. But I also understand that other users of your project might actually need it. |
@vladimir-andreevich Recently, I am experiencing some weird errors with my Vue.JS projects. The error can be EOF, EPIPE or something like this, but is mainly related to unhandled |
Let me have a look... |
It is not a too large codebase but also not small - so it might be difficult to create a reproduction example. But if you really need it - I can try. |
Would it be okay if I start the actual coding in one and half weeks? 😅 I have 3 exams and 2 uni projects to complete during this time, and I've just finished all homework assignments. This task has been constantly getting delayed. I appreciate your understanding. |
@vladimir-andreevich Well, I have no other choice than to kindly wait :) Of course your education does have a priority, I totally understand. I appreciate your sustained efforts on this project! |
Hello.
First I would like to express my great thanks for your work!
Second, to express my regret I am not a C++ developer and thus unable to contribute despite my desire.
And last, I would like to kindly ask do you plan to work on backporting v18 and/or v20 ? What kind of help do you need?
The text was updated successfully, but these errors were encountered: