-
在执行
npm i
时报错ValueError: invalid mode: 'rU' while trying to load binding.gyp
这个错误是因为
Python 3
不支持rU
模式。rU
是Python 2
的模式,表示以通用换行符读取文件。为了解决这个问题,可以通过升级node-gyp
或降低python
版本来解决。# 升级 node-gyp $ npm install -g node-gyp
但是非特殊情况,更推荐降低
Python
版本来解决,因为有的项目是老项目,它必须依赖低版本python
来执行,这样出现的额外问题会比升级遇到的问题少。 -
node-gyp
需要python2.5 < v < 3.0
的版本,所以如果本机是python3
以上的版本,可以拷贝弄两个版本。附 Python 使用 pyenv 多版本管理。 -
安装好对应的
python
版本后,输出一下当前版本号,默认会使用当前设置的python
版本,也可以指定版本。 -
处理好版本问题后,需要 清理和重建,删除
node_modules
目录和package-lock.json
文件,然后重新安装依赖:$ rm -rf node_modules package-lock.json $ npm install
安装好项目依赖后,
python
版本还是可以随意切换的,因为主要是在安装项目依赖的时候需要用到。 -
查看配置
$ npm config list
-
指定版本
# 指定目录,如果不指定,默认使用当前系统环境的得全局 python 版本 $ npm config set python /Users/xxx/.pyenv/versions/2.7.18/bin/python
-
删除配置
# 移除后就使用全局 python 版本 $ npm config delete python
invalid mode: ‘rU‘ while trying to load binding.gyp 解决 node-gyp 与 python 版本不匹配报错
猜你喜欢
转载自blog.csdn.net/zz00008888/article/details/142522106
今日推荐
周排行