Expo SDK更新后新建项目仍用旧版本问题咨询
Expo版本不一致的原因解析
- npx的优先级规则:
npx执行命令时,会优先加载当前项目目录node_modules下的本地依赖包,只有当本地找不到对应包时,才会调用全局安装的版本。你在项目目录下执行npx expo -v,实际调用的是新项目本地安装的54.0.24版本,而非全局的55.0.31。 - create-expo-app模板的依赖锁定:
npx create-expo-app -t使用的官方模板会预设固定版本的Expo依赖,这个版本通常会滞后于全局最新版,目的是保证模板项目的稳定性。所以新项目初始化后,本地安装的是模板指定的54.0.24版本。 - 全局与本地依赖的隔离机制:npm的全局包和项目本地包是完全独立的环境,全局升级不会自动同步到已有或新建项目的本地依赖,这样设计是为了避免不同项目间的版本冲突,保障每个项目依赖环境的一致性。
如果需要让新项目使用最新版Expo,可在项目目录下执行命令:npm install expo@latest,完成后再执行npx expo -v就会显示55.0.31。
内容的提问来源于stack exchange,提问作者Hamed Sahrai
相关产品推荐
相关产品推荐

