咨询Expo版本与Expo SDK版本的区别及命令输出差异
Expo CLI与Expo SDK版本差异及命令结果不同的原因
两个命令对应的是完全不同的工具:
expo --version返回的是Expo CLI的版本号(你的6.3.10就是CLI版本)。这是你全局安装的命令行工具,用来创建、启动、打包Expo项目,比如expo init、expo start这些操作都靠它。npm show expo version返回的是Expo SDK在npm仓库的最新稳定版本(你的50.0.4是SDK版本)。SDK是项目里依赖的核心库,包含React Native封装、原生API调用、Expo服务集成等,项目package.json里的expo字段就是这个版本。
版本号差异大的原因:
Expo CLI和Expo SDK是独立迭代的两个包:
- CLI的版本号走自己的更新序列,主要优化命令行功能、兼容性、修复bug,和SDK版本没有数字上的对应关系。
- SDK的版本号和React Native版本绑定,比如SDK 50对应React Native 0.73.x,每次SDK大版本更新都会同步适配最新的React Native、原生模块和Expo服务,版本迭代跟着React Native的节奏走。
实际开发中,CLI会兼容多个SDK版本,比如你当前的6.3.10版本CLI可以创建或管理SDK 50的项目。
内容的提问来源于stack exchange,提问作者Saimuga
相关产品推荐
相关产品推荐

