Skip to content
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

node-gyp fails to detect ARM64 MSVC #3074

Open
saschanaz opened this issue Sep 30, 2024 · 0 comments · May be fixed by #3075
Open

node-gyp fails to detect ARM64 MSVC #3074

saschanaz opened this issue Sep 30, 2024 · 0 comments · May be fixed by #3075

Comments

@saschanaz
Copy link

  • Node Version: 22.6.0 and npm 10.8.2
  • Platform:
OS Name:                       Microsoft Windows 11 Home
OS Version:                    10.0.26100 N/A Build 26100
System Type:                   ARM64-based PC
  • Compiler:
MSBuild version 17.11.2+c078802d4 for .NET Framework
17.11.2.32701
Microsoft (R) C/C++ Optimizing Compiler Version 19.41.34120 for ARM64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
  • Module: sharp
Verbose output (from npm or node-gyp):

> npm --verbose
npm verbose cli C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js
npm info using [email protected]
npm info using [email protected]
npm verbose title npm
npm verbose argv "--loglevel" "verbose"
npm verbose logfile logs-max:10 dir:C:\Users\sasch\AppData\Local\npm-cache\_logs\2024-09-30T18_11_09_428Z-
npm verbose logfile C:\Users\sasch\AppData\Local\npm-cache\_logs\2024-09-30T18_11_09_428Z-debug-0.log
npm <command>
(...)

> npm i -g [email protected]    
npm error code 1
npm error path C:\Users\sasch\AppData\Roaming\npm\node_modules\sharp
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
npm error sharp: Using cached C:\Users\sasch\AppData\Local\npm-cache\_libvips\libvips-8.14.5-win32-arm64v8.tar.br
npm error sharp: Integrity check passed for win32-arm64v8
npm error sharp: Creating C:\Users\sasch\AppData\Roaming\npm\node_modules\sharp\build\Release
npm error sharp: Copying DLLs from C:\Users\sasch\AppData\Roaming\npm\node_modules\sharp\vendor\8.14.5\win32-arm64v8\lib to C:\Users\sasch\AppData\Roaming\npm\node_modules\sharp\build\Release
npm error prebuild-install warn install No prebuilt binaries found (target=7 runtime=napi arch=arm64 libc= platform=win32)
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | win32 | arm64
npm error gyp info find Python using Python version 3.12.5 found at "C:\Users\sasch\AppData\Local\Programs\Python\Python312-arm64\python.exe"
npm error gyp ERR! find VS
npm error gyp ERR! find VS msvs_version not set from command line or npm config
npm error gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm error gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer, try re-running with '--loglevel silly' for more details.
npm error gyp ERR! find VS
npm error gyp ERR! find VS Failure details: undefined
npm error gyp ERR! find VS checking VS2022 (17.11.35222.181) found at:
npm error gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
npm error gyp ERR! find VS - found "Visual Studio C++ core features"
npm error gyp ERR! find VS - missing any VC++ toolset
npm error gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
npm error gyp ERR! find VS not looking for VS2017 as it is only supported up to Node.js 21
npm error gyp ERR! find VS not looking for VS2017 as it is only supported up to Node.js 21
npm error gyp ERR! find VS not looking for VS2017 as it is only supported up to Node.js 21
npm error gyp ERR! find VS not looking for VS2015 as it is only supported up to Node.js 18
npm error gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
npm error gyp ERR! find VS
npm error gyp ERR! find VS **************************************************************
npm error gyp ERR! find VS You need to install the latest version of Visual Studio
npm error gyp ERR! find VS including the "Desktop development with C++" workload.
npm error gyp ERR! find VS For more information consult the documentation at:
npm error gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
npm error gyp ERR! find VS **************************************************************
npm error gyp ERR! find VS
npm error gyp ERR! configure error
npm error gyp ERR! stack Error: Could not find any Visual Studio installation to use
npm error gyp ERR! stack at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\find-visualstudio.js:118:11)
npm error gyp ERR! stack at VisualStudioFinder.findVisualStudio (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\find-visualstudio.js:74:17)
npm error gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm error gyp ERR! stack at async createBuildDir (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\configure.js:112:18)    
npm error gyp ERR! stack at async run (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\bin\node-gyp.js:81:18)
npm error gyp ERR! System Windows_NT 10.0.26100
npm error gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm error gyp ERR! cwd C:\Users\sasch\AppData\Roaming\npm\node_modules\sharp
npm error gyp ERR! node -v v22.6.0
npm error gyp ERR! node-gyp -v v10.2.0
npm error gyp ERR! not ok
npm error A complete log of this run can be found in: C:\Users\sasch\AppData\Local\npm-cache\_logs\2024-09-30T17_43_15_189Z-debug-0.log

The VS tool finder only checks x86.x64 variant, but it needs to check arm64 variant on arm64 machine too.

getToolset (info, versionYear) {
const pkg = 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64'
const express = 'Microsoft.VisualStudio.WDExpress'
if (info.packages.indexOf(pkg) !== -1) {
this.log.silly('- found VC.Tools.x86.x64')
} else if (info.packages.indexOf(express) !== -1) {
this.log.silly('- found Visual Studio Express (looking for toolset)')
} else {
return null
}

@saschanaz saschanaz linked a pull request Sep 30, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants