npm设置Python版本报错:`python`不是有效npm选项怎么办?
解决npm v9中设置Python版本报错的问题
报错原因
npm从v9版本开始正式移除了python这个配置选项,所以执行npm config set python=xxx时会提示该选项无效。旧项目依赖的node-gyp工具需要指定Python 2.7,得换方式配置。
具体解决方法
1. 临时指定Python版本执行安装
直接在npm install命令中通过参数指定Python路径:
npm install --python=C:\Python27\python.exe
或者先设置临时环境变量(Windows):
set PYTHON=C:\Python27\python.exe npm install
Linux/macOS环境则用:
export PYTHON=python2.7 npm install
2. 全局配置node-gyp的Python版本
如果需要永久生效,直接配置node-gyp的默认Python路径:
node-gyp configure --python=C:\Python27\python.exe
或者设置系统环境变量NODE_GYP_FORCE_PYTHON为C:\Python27\python.exe(Windows可通过系统属性-环境变量添加,Linux/macOS加到shell配置文件如~/.bashrc),这样后续所有node-gyp调用都会自动使用这个Python版本。
3. 额外提示
如果项目依赖的node-gyp版本较旧,也可以手动安装对应版本的node-gyp并指定Python:
npm install -g node-gyp@旧版本 node-gyp --python=C:\Python27\python.exe rebuild
内容的提问来源于stack exchange,提问作者reddfox
相关产品推荐
相关产品推荐

