简体   繁体   English

无法使用 react-navigation-stack 解析依赖关系树

[英]Unable to resolve dependency tree with react-navigation-stack

I'm trying to learn navigation in React-native and I want to run this code:我正在尝试在 React-native 中学习导航,我想运行以下代码:

import React, {Component} from 'react';
import {StyleSheet, Text, View} from 'react-native';

import {createAppContainer} from 'react-navigation';
import {createStackNavigator} from '@react-navigation/stack';

export default class App extends Component {
  render() {
    return <AppContainer />;
  }
}

class HomeScreen extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text>Home</Text>
      </View>
    );
  }
}

const AppNavigator = createStackNavigator({
  Home: {
    screen: HomeScreen,
  },
});

const AppContainer = createAppContainer(AppNavigator);

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
});

But when I try to run with android I got an error like:但是当我尝试使用 android 运行时,出现如下错误:

 Error: Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API with React Navigation 5? See https://reactnavigation.org/docs/upgrading-from-4.x for migration guide.
 ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
 ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.

After a brief research I tried re-install all dependencies and stuff.经过简短的研究,我尝试重新安装所有依赖项和东西。 But still got an error when I tried to run "expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view" >:但是当我尝试运行“expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view”时仍然出现错误>:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: NavigationApp@0.0.1
npm ERR! Found: react@17.0.1
npm ERR! node_modules/react
npm ERR!   react@"17.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.0" from @react-native-community/masked-view@0.1.10
npm ERR! node_modules/@react-native-community/masked-view
npm ERR!   @react-native-community/masked-view@"^0.1.10" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\campo\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\campo\AppData\Local\npm-cache\_logs\2021-03-17T16_11_56_237Z-debug.log

I couldn't find any updated solution online.我在网上找不到任何更新的解决方案。 And finally here is my package.json file:最后是我的 package.json 文件:

{
  "name": "NavigationApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@react-native-community/masked-view": "^0.1.10",
    "@react-navigation/native": "^5.9.3",
    "@react-navigation/stack": "^5.14.3",
    "fbjs": "^3.0.0",
    "react": "17.0.1",
    "react-native": "0.64.0",
    "react-native-gesture-handler": "^1.10.3",
    "react-native-reanimated": "^2.0.0",
    "react-native-safe-area-context": "^3.2.0",
    "react-native-screens": "^2.18.1"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "babel-jest": "^26.6.3",
    "eslint": "7.14.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "^0.64.0",
    "react-navigation": "^4.1.1",
    "react-test-renderer": "17.0.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

For me the following worked:对我来说,以下工作:

npm install @react-native-community/masked-view --force

I guess following code is not enough for npm to save our dependency.我想下面的代码不足以让 npm 保存我们的依赖。

npm install @react-native-community/masked-view --force

When I also used --save option, it worked for me.当我也使用 --save 选项时,它对我有用。 Try the following:尝试以下操作:

npm install --save @react-native-community/masked-view --force
npm install react-native-safe-area-context

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法从“App.js”解析“react-navigation-stack” - Unable to resolve “react-navigation-stack” from “App.js” 无法解析模块“react-navigation-stack”找不到解决方案 - Unable to resolve module 'react-navigation-stack' Can't find a solution 无法从“node_modules\react-navigation-stack\lib\module\navigators\createStackNavigator.js”解析“react-navigation” - Unable to resolve “react-navigation” from “node_modules\react-navigation-stack\lib\module\navigators\createStackNavigator.js” 安装@react-navigation/stack@5.14.3 时无法解析依赖树 - unable to resolve dependency tree when installing @react-navigation/stack@5.14.3 如何修复无法从“node_modules\\react-navigation-stack\\lib\\module\\views\\StackView\\StackViewCard.js”解析“react-native-screens”? - How to fix Unable to resolve "react-native-screens" from "node_modules\react-navigation-stack\lib\module\views\StackView\StackViewCard.js"? 无法解析“../SecondApp\\node_modules\\react-navigation-stack\\lib\\module\\navigators”中的“react-navigation” - Can't resolve 'react-navigation' in '../SecondApp\node_modules\react-navigation-stack\lib\module\navigators' React native:使用 react-navigation、react-navigation-tabs 和 react-navigation-stack 时的不变违规 - React native: invariant violation when using react-navigation, react-navigation-tabs & react-navigation-stack 无法从“App.js”解析“@react-navigation/stack” - Unable to resolve “@react-navigation/stack” from “App.js” 无法解析依赖树 Reactjs - Unable to resolve dependency tree Reactjs Ionic 无法解析依赖树 - Ionic unable to resolve dependency tree
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM