react-native-cli执行init报cli.init is not a function错误的原因
错误产生原因
该报错由全局安装的旧版react-native-cli工具与新版React Native初始化逻辑不兼容导致:
- React Native 0.60版本发布前,官方要求用户全局安装独立的
react-native-cli包承载项目初始化等脚手架能力。0.60及后续版本中,官方已废弃这个独立全局CLI包,所有脚手架逻辑被整合进react-native核心包,同时移除了旧版CLI依赖调用的cli.init()接口。 - 本地留存的全局旧版
react-native-cli不会自动卸载,执行react-native init命令时系统会优先调用这个旧工具,它拉取到最新版React Native依赖后,仍按旧逻辑调用已被移除的cli.init()方法,直接触发类型错误。 - 执行
npx react-native init出现相同报错,是因为npx运行规则会优先匹配本地已全局安装的同名包,不会自动拉取新版官方脚手架逻辑执行,因此复现相同问题。
内容的提问来源于stack exchange,提问作者aslamjm
相关产品推荐
相关产品推荐

