110 votes

Comment résoudre l'erreur gypgyp ERR!ERR ! find VSfind VS msvs_version not set depuis la ligne de commande ou la configuration npm ?

Je souhaite mener à bien ce projet : https://github.com/adonis-china/adonis-adminify

Quand je cours npm install il existe une erreur :

> sqlite3@3.1.13 install C:\laragon\www\adonis-admin\node_modules\sqlite3
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v64-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.13 and node@10.15.0 (node-v64 ABI) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v64-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.13 and node@10.15.0 (node-v64 ABI) (falling back to source compile with node-gyp)
gyp ERR! gypfind VS
 gyp ERR!ERR!  find VSfind VS
 msvs_version not set from command line or npm config
gypgyp  ERR!ERR!  find VSfind VS msvs_version not set from command line or npm config
 VCINSTALLDIR not set, not running in VS Command Prompt
gyp gypERR! ERR!  find VSfind VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp checking VS2019 (16.2.29230.47) found at:
 gypERR!  find VSERR! checking VS2019 (16.2.29230.47) found at:
gyp  find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional"
ERR!gyp find VS ERR! "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional"
 gypfind VS ERR! - "Visual Studio C++ core features" missing
gyp  ERR!find VS  - "Visual Studio C++ core features" missing
find VSgyp could not find a version of Visual Studio 2017 or newer to use
 gypERR!  ERR!find VS  could not find a version of Visual Studio 2017 or newer to use
find VS looking for Visual Studio 2015
gyp gyp ERR!ERR!  find VSfind VS looking for Visual Studio 2015
 - not found
gyp gyp ERR!ERR!  find VSfind VS - not found
 not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR!gyp  ERR!find VS find VS not looking for VS2013 as it is only supported up to Node.js 8

gyp gypERR!  ERR!find VS
 gypfind VS  **************************************************************
gypERR!  ERR!find VS find VS **************************************************************
 You need to install the latest version of Visual Studio
gypgyp ERR!  ERR!find VS find VS You need to install the latest version of Visual Studio
 including the "Desktop development with C++" workload.
gypgyp  ERR!ERR! find VS find VS including the "Desktop development with C++" workload.
 For more information consult the documentation at:
gyp ERR!gyp find VS  For more information consult the documentation at:
ERR!gyp  ERR! find VSfind VS https://github.com/nodejs/node-gyp#on-windows
 https://github.com/nodejs/node-gyp#on-windows
gyp gyp ERR!ERR! find VS  **************************************************************
find VSgyp **************************************************************
 gypERR! find VS
ERR! find VS
gyp gypERR!  ERR!configure error
 configure errorgyp
 ERR! stackgyp Error: Could not find any Visual Studio installation to use
 gypERR!  stackERR! Error: Could not find any Visual Studio installation to use
 stackgyp      at VisualStudioFinder.fail (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
ERR!gyp stack      at VisualStudioFinder.fail (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
ERR! gypstack      at findVisualStudio2013 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16)
gypERR!  ERR!stack      at findVisualStudio2013 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16)
stack     at VisualStudioFinder.findVisualStudio2013 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:344:14)
gypgyp ERR! stack     at findVisualStudio2015 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14)
 gypERR!  ERR! stackstack     at regSearchKeys (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:365:16)
     at VisualStudioFinder.findVisualStudio2013 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:344:14)
gyp gypERR!  ERR!stack stack     at regGetValue (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7)
     at findVisualStudio2015 (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14)
gypgyp  ERR!ERR!  stackstack     at C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp     at regSearchKeys (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:365:16)
 gyp ERR! ERR!stack     at ChildProcess.exithandler (child_process.js:301:5)
 gypstack      at regGetValue (C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7)
ERR! gypstack     at ChildProcess.emit (events.js:182:13)
 gypERR! ERR!  stack     at C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
stack     at maybeClose (internal/child_process.js:962:16)
gyp gypERR! ERR!  System Windows_NT 10.0.17134
stackgyp     at ChildProcess.exithandler (child_process.js:301:5)
 ERR!gyp  commandERR! "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Chelsea\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\laragon\\www\\adonis-admin\\node_modules\\sqlite3\\lib\\binding\\node-v64-win32-x64\\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=C:\\laragon\\www\\adonis-admin\\node_modules\\sqlite3\\lib\\binding\\node-v64-win32-x64" "--python=C:\\Users\\Chelsea\\.windows-build-tools\\python27\\python.exe"
 gypstack     at ChildProcess.emit (events.js:182:13)
 gypERR!  ERR!cwd C:\laragon\www\adonis-admin\node_modules\sqlite3
 gypstack ERR!     at maybeClose (internal/child_process.js:962:16)
 node -v v10.15.0
gypgyp  ERR!ERR!  Systemnode-gyp -v Windows_NT 10.0.17134
 v5.0.3
gypgyp  ERR!ERR! command  "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Chelsea\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\laragon\\www\\adonis-admin\\node_modules\\sqlite3\\lib\\binding\\node-v64-win32-x64\\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=C:\\laragon\\www\\adonis-admin\\node_modules\\sqlite3\\lib\\binding\\node-v64-win32-x64" "--python=C:\\Users\\Chelsea\\.windows-build-tools\\python27\\python.exe"
not okgyp
 ERR! cwd C:\laragon\www\adonis-admin\node_modules\sqlite3
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\laragon\www\adonis-admin\node_modules\sqlite3\lib\binding\node-v64-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=C:\laragon\www\adonis-admin\node_modules\sqlite3\lib\binding\node-v64-win32-x64 --python=C:\Users\Chelsea\.windows-build-tools\python27\python.exe' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\laragon\www\adonis-admin\node_modules\sqlite3\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:962:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
node-pre-gyp ERR! System Windows_NT 10.0.17134
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\laragon\\www\\adonis-admin\\node_modules\\sqlite3\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\laragon\www\adonis-admin\node_modules\sqlite3
node-pre-gyp ERR! node -v v10.15.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.38
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\Chelsea\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\laragon\www\adonis-admin\node_modules\sqlite3\lib\binding\node-v64-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=C:\laragon\www\adonis-admin\node_modules\sqlite3\lib\binding\node-v64-win32-x64 --python=C:\Users\Chelsea\.windows-build-tools\python27\python.exe' (1)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sqlite3@3.1.13 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sqlite3@3.1.13 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Chelsea\AppData\Roaming\npm-cache\_logs\2019-09-10T22_53_41_072Z-debug.log

Comment puis-je résoudre l'erreur ?

2 votes

Tout d'abord, je lancerais Visual Studio Installer et ajouterais "Visual Studio C++ core features", parce qu'il dit qu'il le veut et qu'il est manquant dans votre installation VS2019.

0 votes

Windows-build-tools corrompt mon installation anaconda en installant un python 2.7 séparé. Pour mon problème, la mise à jour de la version de npm de 6 -> 8, a résolu le problème sans demander aucun python. Donc, Je suggère de mettre à jour npm avant d'installer Windows-build-tools

0 votes

Obsolète node-sass était la cause pour moi, corrigée en utilisant une réponse dans npm install avec erreur : gyp a échoué avec un code de sortie : 1

143voto

CPHPython Points 2219

TL;DR

Utiliser le Programme d'installation de Visual Studio pour obtenir le Développement de bureau avec C++ charge de travail en une des versions de Visual Studio que vous avez installé sur votre machine :

VS workloads

Motif/détails

En lisant le journal, l'erreur principale est due à ceci :

msvs_version non défini en ligne de commande ou dans la configuration de npm

Après celui-ci, on en trouve plusieurs :

"Visual Studio C++ core features" manquant

Et plus tard :

Vous vous devez installer la dernière version de Visual Studio y compris le " Développement de bureau avec C++ "Charge de travail.

Pour plus d'informations, consultez la documentation à l'adresse suivante

VS https://github.com/nodejs/node-gyp#on-Windows

Enfin :

Impossible de trouver une installation de Visual Studio à utiliser

Pour résoudre le problème, il suffit donc d'obtenir " Développement de bureau avec C++ "Charge de travail.

Si une version de Visual Studio est installée

  1. ouvert Programme d'installation de Visual Studio ( Win + le rechercher)
  2. sur la liste affichée de toutes les installations Visual Studio que vous avez sur votre PC, appuyez sur la touche Modifier de l'un d'entre eux (de préférence la dernière version)
  3. sur le Charges de travail grille/liste sélectionner la case à cocher avec Développement de bureau avec C++
  4. Appuyez sur l'une des touches Installer boutons

gyp trouvera alors cette version et l'utilisera :

gyp info find Python utilisant la version 3.8.1 de Python trouvée à l'adresse " C:\Users\USER\AppData\Local\Programs\Python\Python38 -32 \python.exe "

gyp info find VS utilisant VS2019 (16.4.29709.97) trouvé à :

gyp info find VS " C:\Program Fichiers (x86) \Microsoft Visual Studio \2019\

Sans Visual Studio installé

Les solutions suivantes supposent que vous avez nœud installés. Clause de non-responsabilité : je n'ai testé aucune de ces solutions, mais j'apprécie que tous ceux qui les ont signalées aient résolu le problème.

Alternative 0 : avant l'installation de logiciels supplémentaires

En tant que kaulshapranav a écrit dans quelques commentaires , légèrement raccourci/ reformulé :

Outils de construction pour Windows Le journal d'installation mentionne que ce paquet d'outils est obsolète et qu'il n'est plus nécessaire de l'installer. déjà inclus dans le nœud . Il corrompt mon installation anaconda en installant un python 2.7 séparé (...) ; mise à jour npm version de 6 -> 8 a résolu le problème.

npm est accompagné de nœud La solution est donc de mettre à jour votre node/npm version. Toutefois, si vous devez conserver des versions spécifiques, nvm (remarquez le v ) permet de passer de l'un à l'autre : tutoriel simple sur l'utilisation du nvm .

Alternative 1

En tant que Réponse de Hamid Jolany suggère, sur la base d'une l'administration il suffit d'installer globalement le paquetage des outils de construction ( node-gyp README ):

npm i -g windows-build-tools

Alternative 2

Idée/réponse de Ragavan d'un fil de discussion similaire :

  1. vérifiez si vous disposez des outils de construction VS en exécutant npm config get msvs_version (si c'est le cas, passez à l'étape 4 et essayez de définir les variables d'environnement)
  2. s'il n'est pas installé, obtenir la dernière version de l'outil de construction VS exe et l'installer (l'idée de Ragavan était avec ou Outils Microsoft Build 2015 )
  3. courir npm config set msvs_version 2019 --global (ou npm config set msvs_version 2015 --global selon l'idée de Ragavan)
  4. Éventuellement facultatif : définir le VCTargetsPath variable d'environnement ( Win + recherche de var ) vers le chemin d'accès approprié (par ex. C:\Program Files (x86)\MSBuild\Microsoft\Portable\v5.0 ) ou par l'intermédiaire de Exécuter en tant qu'administrateur comme dans l'idée de Ragavan avec les outils de construction 2015 :
    • set VCTargetsPath="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140"
    • ou en Powershell : $env:VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140

Notes annexes :

19voto

Hamid Jolany Points 179

Installez tous les outils et configurations nécessaires à l'aide de la fonction Windows-build-tools de Microsoft en utilisant la fonction npm install --global windows-build-tools à partir d'un PowerShell ou d'un CMD.exe (exécuté en tant qu'administrateur).

Guide complet dans GitHub

1 votes

Pouvez-vous vérifier après coup quelle version a été effectivement installée ?

9voto

Dylan Points 442

Pour que cela fonctionne avec Visual Studio 2022, j'ai dû exécuter :

npm config set msbuild_path "C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe"

9voto

MilanBogic Points 75

Utilisez la commande suivante avant de npm install :

npm config set msbuild_path "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe

Changer \Enterprise\ à \Community\ a fonctionné pour moi.

4 votes

Pour moi, le chemin a été le suivant C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe

2 votes

Pour moi, c'était " C:\Program Fichiers (x86) \Microsoft Visual Studio \2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe "

6voto

ifredom Points 358

J'ai résolu le problème avec npm install -g node-gyp alors npm install .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X