安装React Navigation实现RN双屏跳转时npm报错 该如何解决?
解决方案
你遇到的ENOENT rename错误是Windows环境下npm操作时文件被锁定、现有node_modules目录损坏或npm缓存异常导致的,两个peer依赖警告不影响核心功能运行,可按需处理。
操作步骤
- 第一步:关闭所有和当前项目相关的进程,包括Metro打包服务、代码编辑器、项目文件夹窗口,避免文件被系统占用锁定。
- 第二步:删除项目下的损坏依赖文件和缓存
- 手动删除项目根目录的
node_modules文件夹和package-lock.json文件(注意不要删除package.json) - 执行命令清理npm全局缓存:
npm cache clean --force
- 手动删除项目根目录的
- 第三步:重新安装基础依赖
执行命令安装项目现有依赖:npm install - 第四步:安装React Navigation相关依赖
依次执行以下两个命令:npm install @react-navigation/native @react-navigation/native-stacknpm install react-native-screens react-native-safe-area-context
备选方案(上述步骤仍报错时使用)
如果npm持续报错,可切换使用yarn作为包管理器:
- 全局安装yarn:
npm install -g yarn - 执行
yarn install安装项目基础依赖 - 依次执行命令安装导航依赖:
yarn add @react-navigation/native @react-navigation/native-stackyarn add react-native-screens react-native-safe-area-context
警告处理说明
提示的两个peer依赖警告仅为兼容性提示:
- 如果你项目未使用TypeScript,
tsutils相关的警告可以直接忽略 - 如果你项目没有自定义babel配置需求,
jscodeshift相关的警告也可以直接忽略,不影响导航功能正常使用
内容的提问来源于stack exchange,提问作者Snehal Ashturkar
相关产品推荐
相关产品推荐

