Expo开发中expo install与npm install的使用区别及场景疑问
核心疑问解答
1. 你对expo install的认知偏差
expo install从来不是Expo项目唯一允许的依赖安装方式,它只是npm/yarn/pnpm等标准包管理器的封装工具,核心作用只有两点:
- 安装依赖时自动匹配与你当前使用的Expo SDK版本兼容的依赖版本,避免版本冲突
- 对包含原生代码的依赖自动处理Expo侧的原生适配逻辑,无需你手动修改原生配置
你完全可以在Expo项目中正常使用npm install安装任意依赖,只是如果是和Expo SDK版本强绑定的原生依赖,你需要自己确认版本兼容性,否则容易出现运行报错。
2. 为什么React Navigation核心包用npm install安装
@react-navigation/native是纯JS实现的导航核心逻辑包,没有和Expo SDK绑定的版本要求,也不依赖Expo的原生能力,所以直接使用通用的npm install命令安装即可,不存在版本兼容问题。
后续你需要安装的react-native-screens、react-native-safe-area-context这类包含原生代码、需要和Expo SDK版本匹配的配套依赖,才需要使用expo install安装来保障兼容性。
小提示:哪怕你直接用
expo install @react-navigation/native也不会有任何问题,两种方式安装这个包的效果完全一致,官方文档只是采用了更通用的标准包管理器命令写法而已。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

