msgpackr depends on msgpackr-extract for native MessagePack acceleration.
msgpackr-extract ships prebuilt binaries for several platforms (win32-x64, darwin-arm64, linux-x64, linux-arm64, …) but not for win32-arm64.
On a native Windows ARM64 Node install, msgpackr-extract therefore tries to fall back to compiling from source. That fails for two independent reasons:
- The
node-gyp-build-optional-packages fork it uses passes process.execPath unquoted when shelling out to node-gyp rebuild, so a Node path like C:\Program Files\nodejs\node.exe is split at the space. This is the same root cause as upstream prebuild/node-gyp-build#71, which was fixed in prebuild/node-gyp-build#72, but that fix has not reached the node-gyp-build-optional-packages fork used here.
- Even after working around the quoting issue (e.g. by moving Node to
C:\nodejs), the build can still fail because the required MSVC toolset is unavailable (e.g. only v143 is installed while the build wants v145).
This was already reported in kriszyp/msgpackr-extract#14, but that repository appears much less active.
Could msgpackr either:
- publish an official
win32-arm64 prebuild for msgpackr-extract, or
- make
msgpackr-extract a truly optional dependency so install failures are ignored and msgpackr falls back to its pure-JS implementation?
Environment
- Node:
26.5.1
- OS: Windows 11 ARM64
process.platform: win32
process.arch: arm64
msgpackr-extract: 3.0.4
msgpackrdepends onmsgpackr-extractfor native MessagePack acceleration.msgpackr-extractships prebuilt binaries for several platforms (win32-x64,darwin-arm64,linux-x64,linux-arm64, …) but not forwin32-arm64.On a native Windows ARM64 Node install,
msgpackr-extracttherefore tries to fall back to compiling from source. That fails for two independent reasons:node-gyp-build-optional-packagesfork it uses passesprocess.execPathunquoted when shelling out tonode-gyp rebuild, so a Node path likeC:\Program Files\nodejs\node.exeis split at the space. This is the same root cause as upstreamprebuild/node-gyp-build#71, which was fixed inprebuild/node-gyp-build#72, but that fix has not reached thenode-gyp-build-optional-packagesfork used here.C:\nodejs), the build can still fail because the required MSVC toolset is unavailable (e.g. only v143 is installed while the build wants v145).This was already reported in
kriszyp/msgpackr-extract#14, but that repository appears much less active.Could
msgpackreither:win32-arm64prebuild formsgpackr-extract, ormsgpackr-extracta truly optional dependency so install failures are ignored andmsgpackrfalls back to its pure-JS implementation?Environment
26.5.1process.platform:win32process.arch:arm64msgpackr-extract:3.0.4