Can not get it run on windows
Hi there,
i can't get this run on windows. I am stuck at this: "Error: No native build was found for platform=win32 arch=x64 runtime=node abi=120 uv=1 libc=glibc node=21.7.1 loaded from: G:\AIZeug\humanify-main\node_modules\zeromq"
Is there any chance to get this running on windows without using wsl? There was also an issue with the current node version and i had to change the start script to "tsx src/index.ts", otherwise it complained about not knowing the file extension ".ts".
Unfortunately I don't have any good way to develop on Windows at the moment, so cannot guarantee any support for that platform.
Zeromq does claim it should work on Windows too, so not sure what the issue here is 🤔
I'll mark this as wonrfix for now, but I'll be happy to accept any pull requests that fix the windows support
@jehna While it wouldn't make for the best dev workflow, I wonder if adding some basic cross-platform build tests on GitHub actions would help highlight/protect against these sorts of issues?
Zeromq does claim it should work on Windows too, so not sure what the issue here is 🤔
Unsure if this is relevant, since theoretically it should have binaries from prebuild:
- https://github.com/zeromq/zeromq.js/tree/5.x#installation---users
-
windows users: do not forget to set
msvs_versionaccording to your visual studio version 2013,2015,2017npm config set msvs_version 2015Now, prepare to be amazed by the wonders of binaries.To use your system's
libzmq(if it has been installed and development headers are available):npm install zeromq@5 --zmq-external
-
I think that explains it: https://unpkg.com/browse/[email protected]/prebuilds/win32-x64/ The prebuilt binaries only exist up to node v18
zeromq.js v6 uses N-API and should fix the issue
The prebuilt binaries only exist up to node v18
Yeah, I was just about to say, the script in the package.json lists the following:
- https://github.com/zeromq/zeromq.js/blob/5.x/package.json#L30-L31
-
"prebuildify": "prebuildify -t 18.12.1 -t 16.18.1 -t 14.21.1 -t 12.22.12 -t [email protected] -t [email protected] --strip", "prebuildify-ia32": "prebuildify --arch=ia32 -t 18.12.1 -t 16.18.1 -t 14.21.1 -t 12.22.12 -t [email protected] -t [email protected] --strip",
-
I'm having this too on macos, did anyone fix this?
did anyone fix this?
@JxxIT I believe the solution is probably "use an older version of node that the zeromq.js binaries are built for"
And maybe when upstream releases v6 it will solve it more specifically:
Status update
Zeromq is in a much better status as of the recent release. We have prebuilt binaries for many platforms. Most of the tests are passing. The remaining failing tests are related to Proxies and some GC tests, which I don't consider a blocker. But I appreciate contributions. Given that curve security is optional upstream, we don't have issues regarding Libsodium for now. So we can probably go for the v6 release soon.
Originally posted by @aminya in https://github.com/zeromq/zeromq.js/issues/529#issuecomment-2174252859
So perhaps you could try one of the v6 betas (though there might be other breaking changes required to do so):
- https://github.com/zeromq/zeromq.js/releases
It looks like the latest version of node has been supported in the build scripts since v6.0.0-beta.9:
- https://github.com/zeromq/zeromq.js/releases/tag/v6.0.0-beta.9
-
fix: fix the Win x86 prebuild script by @aminya in https://github.com/zeromq/zeromq.js/commit/e30b162286efaa56de239fc9454e9d7a5071d562
-
Or maybe even v6.0.0-beta.8:
- https://github.com/zeromq/zeromq.js/releases/tag/v6.0.0-beta.8
-
- feat: rewrite the build script by @aminya in https://github.com/zeromq/zeromq.js/pull/519
- feat: add support for macOS Arm + Windows 32 bit by @aminya in https://github.com/zeromq/zeromq.js/pull/522
- feat: improve the architecture handling the build system by @aminya in https://github.com/zeromq/zeromq.js/pull/522
-
@0xdevalias Wow, thanks! It worked for me.
I recommend using the latest beta version of zeromq until we fully release v6
@aminya Sorry for this stupid question: Do you have an eta for v6?
Zeromq not needed anymore since v2 was released, should work now on Windows.
I think I could add some e2e test for running on Windows, as GH runners have a windows host too 🤔
If anyone still cannot make it work in Windows then my suggestion is to use WSL, it works with a couple of tweaks (I didn't test with GPU yet)