错误:无法解析模块“ react-native-gesture-handler”


72

我尝试在react-native中使用Navigation。 npm install --save react-navigation

但是它给我这样的错误:

错误:捆绑失败:错误:无法解析模块react-native-gesture-handlerC:\reactnative\proejectName\node_modules\@react-navigation\native\src\Scrollables.js:模块react-native-gesture-handler不会在急速模块地图存在

这是索引:

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';

AppRegistry.registerComponent(appName, () => App);

这是app.js

import React from 'react';
import { createStackNavigator, createAppContainer, } from 'react-navigation';
import First from './src/Components/First';
import DescriptionPage from './src/Components/DescriptionPage';


const Navigation = createStackNavigator({
  First: {
    screen: First,
  },
  DescriptionPage: {
    screen: DescriptionPage,
  },
});

const App = createAppContainer(Navigation);

export default App;

这是package.json:

{
  "name": "ProjectName",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.8.3",
    "react-native": "0.59.1",
    "react-native-sqlite-storage": "^3.3.10",
    "react-navigation": "^3.5.1"
  },
  "devDependencies": {
    "@babel/core": "7.4.0",
    "@babel/runtime": "7.4.2",
    "babel-jest": "24.5.0",
    "eslint-config-rallycoding": "^3.2.0",
    "jest": "24.5.0",
    "metro-react-native-babel-preset": "0.53.1",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

package.json长什么样?
Clad Clad19年

5
为了使用react导航,您还必须安装react-native-gesture-handler:doc
Milore,

Answers:


128

您还需要react-native-gesture-handler在项目依赖项列表中分别安装,并将其也与本机链接。请参考此文档

希望这可以帮助。编码愉快!


2
@MaykedaRosaHerbst如果您看一下gesture-handler库,那么您将了解为什么react-navigation开发人员会选择使用它来保持导航过渡的顺畅和高效。
Suraj Malviya

当我尝试安装时,出现错误“ npm ERR!enoent undefined ls-remote -h -t github.com/naver/hammer.js.git
Vasanth

我在sqlite中遇到问题,我创建了插入提取删除功能,由于某种原因,它对我不起作用。你能帮我吗 ?
shira



3

对于这里的新手:

  1. 如果您正在使用expo,则只需运行以下命令即可为您的react native版本安装适当的版本
react-native-gesture-handler
  1. 请注意,createStackNavigator已将其移至 react-navigation-stack,因此正确的导入变为:
import { createStackNavigator } from 'react-navigation-stack';
import {createAppContainer } from 'react-navigation';

通常来自相应的官方github存储库及其发行说明:github.com/react-navigation/stack/releases
DeeSilence

3

就我而言,react-native-gesture-handler已安装,但我将其卸载并重新安装。

1:卸载

npm uninstall react-native-gesture-handler --save

2:安装

npm install react-native-gesture-handler --save

3:链接

react-native link react-native-gesture-handler

4:重新启动npm

npm restart 

要么

npm start

2

如果您使用的是expo,则必须通过expo命令进行安装:

expo install react-native-gesture-handler

1

有同样的问题。解决方法:

npm uninstall react-native-gesture-handler --save

npm install react-native-gesture-handler --save

0

确保您的反应导航版本为3.11.0。

在此处输入图片说明

然后npm install react-native-gesture-handler命令


2
请添加代码和数据作为文本(使用代码格式),而不是图像。图片:A)不允许我们复制和粘贴代码/错误/数据进行测试;B)不允许根据代码/错误/数据内容进行搜索;和许多更多的理由。通常,以文本格式>>>>代码/错误/数据作为图像>>的代码/错误/数据>>什么都没有。除了具有代码格式的文本外,还应该使用图像,如果图像具有显着意义的东西,而不仅仅是文本代码/错误/数据所传达的话。
Suraj Rao

0

如果您运行的是Mac,请执行以下操作:

  1. 删除node_modulespackage-lock.json
  2. npm install
  3. npm install --save react-navigation
  4. npm install --save react-native-gesture-handler
  5. cd ios
  6. pod install

再跑一次


在Android中使用!
alexjosesilva

0

在我的情况下,我遇到了同样的问题,react-native-gesture-handler本身的安装失败。我使用的是反应本机版本0.61.5。由于某些原因,我的项目未安装最新版本的react-native-gesture-handler。我通过安装特定版本的react-native-gesture-handler解决了该错误。

   npm install --save react-native-gesture-handler@1.3.0

希望这可以帮助。


0

如果要升级到SDK 39。

运行此命令:

expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

谢谢。


0

使用以下命令进行安装

yarn add react-native-gesture-handler

对于React Native版本低于v 59.x的版本,请在特定项目中链接库

react-native link react-native-gesture-handler

0

工作正常

"react-native-gesture-handler": "^1.8.0",

用这个代替

"react-native-gesture-handler": "1.8.0",

删除^

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.