Je cherchais la réponse à cela pour une bonne semaine solide maintenant, sans succès. J'ai examiné chaque article sur Stackoverflow, chaque article de Google et chaque question de GitHubing connexe que je pouvais trouver. Les erreurs les plus connexes semblent être plus âgées, alors je me demande si ma question est légèrement différente en raison de moi sur Macos Big Sur.
le problème : quand j'essaie de courir yarn install
Dans mon repo local, je reçois une erreur liée à Node-Gyp et a python exécutable incapable à être trouvé. Voici ce que mon terminal montre:
yarn install v1.22.17
...other stuff
[4/4] ???? Building fresh packages...
[6/13] ⠐ node-sass
[2/13] ⠐ node-sass
[10/13] ⠐ metrohash
[4/13] ⠐ fsevents
error /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/metrohash: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/metrohash
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "/usr/local/opt/[email protected]/bin/python3", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (/Users/jimmiejackson/Documents/repositories/repo-name/node_modules/node-gyp/lib/configure.js:484:19)
gyp ERR! stack at PythonFinder.<anonymous> (/Users/jimmiejackson/Documents/repositories/repo-name/node_modules/node-gyp/lib/configure.js:406:16)
gyp ERR! stack at F (/Users/jimmiejackson/Documents/repositories/repo-name/node_modules/which/which.js:68:16)
gyp ERR! stack at E (/Users/jimmiejackson/Documents/repositories/repo-name/node_modules/which/which.js:80:29)
gyp ERR! stack at /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/which/which.js:89:16
gyp ERR! stack at /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/isexe/index.js:42:5
gyp ERR! stack at /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/isexe/mode.js:8:5
gyp ERR! stack at FSReqCallback.oncomplete (fs.js:167:21)
gyp ERR! System Darwin 20.6.0
gyp ERR! command "/Users/jimmiejackson/.nvm/versions/node/v12.18.0/bin/node" "/Users/jimmiejackson/Documents/repositories/repo-name/node_modules/metrohash/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/jimmiejackson/Documents/repositories/repo-name/node_modules/metrohash
Je ne suis pas tout à fait sûr de ce que signifie cette erreur ou pourquoi ce module de noeud recherche Python3. J'ai essayé de courir npm set config /path/to/python
, télécharger python3, réglage du PYTHON chemin dans mon profil .zshrc, mais rien ne semble fonctionner. C'est tout à fait possible que mon manque de compréhension de la question signifie que je suis sur le droit de droite mais n'a pas tout Obtenez quelque chose de bien. Des idées?
Je crois que vous pouvez définir explicitement env VaR en le préfixant avec npm_config
:
$ export npm_config_python=/path/to/python
vérifiez si cela est configuré en répertoriant la configuration:
$ npm config list
...
; environment configs
python = "/path/to/python"
cela devrait être ramassé par node-gyp
.
Une autre approche serait de le définir en .npmrc
python = "/path/to/python"
Une troisième approche serait de la définir globalement:
npm config --global set python /path/to/python