感谢您花时间阅读本文。
发生的情况是,我正在尝试将堆栈导航器用于 CLI React Native 项目,但我认为我无法下载 React-navigation 包。当我在 Visual Studio 终端内使用命令 npm install react-navigation/native 时,我收到以下消息:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/native
npm ERR! peer @react-navigation/native@"^6.0.0" from @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/elements
npm ERR! @react-navigation/elements@"^1.3.4" from @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/native-stack
npm ERR! @react-navigation/native-stack@"^6.7.0" from the root project
npm ERR! peer @react-navigation/native@"^6.0.0" from @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/native-stack
npm ERR! @react-navigation/native-stack@"^6.7.0" from the root projectnpm ERR! 1 more (the root project)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! @react-navigation/native@"react-navigation/native" from the root
project
npm ERR!
npm ERR! Conflicting peer dependency: @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/core
npm ERR! peer @react-navigation/core@"^3.0.0" from @react-navigation/[email protected]
npm ERR! node_modules/@react-navigation/native
npm ERR! @react-navigation/native@"react-navigation/native" 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\sergi\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\sergi\AppData\Local\npm-cache\_logs\2022-08-20T20_17_39_891Z-debug-0.log
所以我尝试在 Windows 终端内使用 $ npx react-native start 重新启动 Metro,它发送:
BUNDLE ./index.js
error: Error: Unable to resolve module react-navigation/native from C:\Users\sergi\projects\Pup\src\screens\SignInScreen\SignInScreen.js: react-navigation/native could not be found within the project or in these directories:
node_modules
5 | import CustomButton from '../../components/CustomButton';
6 | import SocialSignInButtons from '../../components/SocialSignInButtons';
> 7 | import {useNavigation} from 'react-navigation/native';
| ^
8 | import {useForm, Controller} from 'react-hook-form';
9 |
10 | const SignInScreen = () => {
at ModuleResolver.resolveDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:158:15)
at DependencyGraph.resolveDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\node-haste\DependencyGraph.js:231:43)
at Object.resolve (C:\Users\sergi\Projects\Pup\node_modules\metro\src\lib\transformHelpers.js:129:24)
at resolve (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:396:33)
at C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:412:26
at Array.reduce (<anonymous>)
at resolveDependencies (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:411:33)
at processModule (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:140:31)
at async addDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:230:18)
at async Promise.all (index 1)
BUNDLE ./index.js
error: Error: Unable to resolve module react-navigation/native from C:\Users\sergi\projects\Pup\src\screens\SignInScreen\SignInScreen.js: react-navigation/native could not be found within the project or in these directories:
node_modules
5 | import CustomButton from '../../components/CustomButton';
6 | import SocialSignInButtons from '../../components/SocialSignInButtons';
> 7 | import {useNavigation} from 'react-navigation/native';
| ^
8 | import {useForm, Controller} from 'react-hook-form';
9 |
10 | const SignInScreen = () => {
at ModuleResolver.resolveDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:158:15)
at DependencyGraph.resolveDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\node-haste\DependencyGraph.js:231:43)
at Object.resolve (C:\Users\sergi\Projects\Pup\node_modules\metro\src\lib\transformHelpers.js:129:24)
at resolve (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:396:33)
at C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:412:26
at Array.reduce (<anonymous>)
at resolveDependencies (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:411:33)
at processModule (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:140:31)
at async addDependency (C:\Users\sergi\Projects\Pup\node_modules\metro\src\DeltaBundler\traverseDependencies.js:230:18)
at async Promise.all (index 1)
我还附上了模拟器错误消息中的图像。
”
删除你的package-lock.json
删除您的node_modules文件夹
再次尝试 npm install