解决 node-gyp 错误问题|node与python版本不匹配报错|node-gyp|vue
·
gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@14.15.0 | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2.7" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2.7
npm ERR! gyp verb `which` failed at getNotFoundError (F:\my_download\001components-master\001components-master\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (F:\my_download\001components-master\001components-master\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (F:\my_download\001components-master\001components-master\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at F:\my_download\001components-master\001components-master\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at F:\my_download\001components-master\001components-master\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at F:\my_download\001components-master\001components-master\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:183:21)
npm ERR! gyp verb `which` failed python2.7 Error: not found: python2.7
npm ERR! gyp verb `which` failed at getNotFoundError (F:\my_download\001components-master\001components-master\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (F:\my_download\001components-master\001components-master\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (F:\my_download\001components-master\001components-master\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at F:\my_download\001components-master\001components-master\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at F:\my_download\001components-master\001components-master\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:183:21) {
npm ERR! gyp verb `which` failed code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb could not find "python2.7". checking python launcher
npm ERR! gyp verb could not find "python2.7". guessing location
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! stack Error: Can't find Python executable "python2.7", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack at PythonFinder.failNoPython (F:\my_download\001components-master\001components-master\node_modules\node-gyp\lib\configure.js:484:19)
npm ERR! gyp ERR! stack at PythonFinder.<anonymous> (F:\my_download\001components-master\001components-master\node_modules\node-gyp\lib\configure.js:509:16)
npm ERR! gyp ERR! stack at callback (F:\my_download\001components-master\001components-master\node_modules\graceful-fs\polyfills.js:295:20)
npm ERR! gyp ERR! stack at FSReqCallback.oncomplete (fs.js:183:21)
npm ERR! gyp ERR! System Windows_NT 10.0.18363
npm ERR! gyp ERR! command "C:\\akula\\nodejs\\node.exe" "F:\\my_download\\001components-master\\001components-master\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbonpm ERR! gyp ERR! cwd F:\my_download\001components-master\001components-master\node_modules\node-sass
npm ERR! gyp ERR! node -v v14.15.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1
npm ERR! A complete log of this run can be found in:
项目要用到node-gyp(给爷爬)
mac上没问题 windows有问题
看上面的日志, 提到了 python2.7
看来这个模块用的上古时代的python2.7的技术
windows的同学可以先安装 python2 这里下载: https://www.python.org/ftp/python/2.7/python-2.7.amd64.msi
不要修改路径!! 不要修改路径!! 等他安装到 C:\python2.7\ 目录下面哈. 这样不会影响你的 python3+体系
安装了python再执行 npm config set python python2.7 表示npm中凡是遇到python命令统一修正为执行python2.7
再执行 npm install node-gyp 就好了, 是不是很顺利哇?
以后如又有其他的包用的python3遇到报错的话那么可以使用 npm config delete python 这样恢复npm命令的python版本环境变量( npm config list 查看)
------------------------
win10了解WSL的同学完全可以切换到WSL里面编码哈,支持热更新.什么node-gyp上面这些问题都不会遇到. WSL2还没试过(因为WSL用着挺顺手)
----------------------
总结:
- 默认安装python2.7
- 映射npm config set pytyon python2.7
更多推荐
已为社区贡献2条内容
所有评论(0)