React-native: UnableToResolveError:无法解析模块“AccessibilityInfo”

创建于 2017-05-26  ·  321评论  ·  资料来源: facebook/react-native

描述

我基本上只是用最少的设置克隆了一个现有的项目,做了yarn installnode node_modules/react-native/local-cli/cli.js run-ios 。 它开始了,但打包程序失败了:

error: bundling: UnableToResolveError: Unable to resolve module `AccessibilityInfo` from `/Users/phillipp/Work/***/***/node_modules/react-native/Libraries/react-native/react-native-implementation.js`: Module does not exist in the module map or in these directories:
  /Users/phillipp/Work/***/***/node_modules/react-native/node_modules
,   /Users/phillipp/Work/***/***/node_modules

我在/Users/phillipp/Work/***/***/node_modules/react-native/Libraries/react-native/react-native-implementation.js文件中找到了get AccessibilityInfo() { return require('AccessibilityInfo'); },但我不知道它想从哪里要求它。 好像是RN核心的东西。

这是好奇的人的package.json

{
  "name": "***",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "base64-js": "^1.2.0",
    "react": "^16.0.0-alpha.6",
    "react-native": "^0.44.0",
    "react-native-ble-manager": "^3.2.0",
    "react-native-checkbox": "^1.1.0",
    "react-native-color-picker": "^0.2.1",
    "react-native-drawer": "^2.3.0",
    "react-native-dropdown": "0.0.6",
    "react-native-image-picker": "^0.25.5",
    "react-native-list-popover": "^1.0.5",
    "react-native-modal-picker": "0.0.16",
    "react-native-orientation": "^1.17.0",
    "react-native-router-flux": "^3.37.0",
    "react-native-selectbox": "^0.1.0",
    "react-native-selection": "^1.3.5",
    "react-native-selectme": "^1.2.3",
    "react-native-sound": "^0.9.1",
    "react-native-vector-icons": "^4.0.1"
  },
  "devDependencies": {
    "babel-jest": "18.0.0",
    "babel-preset-react-native": "1.9.1",
    "jest": "18.1.0",
    "react-test-renderer": "~15.4.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

我已经尝试了我在互联网上找到的所有东西(重新安装节点模块,清理 npm、纱线和守望者缓存,从临时目录中删除反应文件等)

附加信息

  • React Native 版本: ^0.44.0
  • 平台: ios
  • 开发操作系统:OSX
  • 开发工具:XCode 8.0 (8A218a)
Ran Commands Locked

最有用的评论

听起来很愚蠢,但重新启动计算机可能是解决方案!

所有321条评论

同样的问题在这里。 我 2 天前创建的项目仍然有效。 我今天用react-native init创建的一个新项目没有。 就我而言,不同之处在于 react-native 版本从 0.44.0 到 0.44.2。 在新项目中,如果我将 package.json 中的 react-native 版本更改为 0.44.0,它就可以工作。

运行 init 后突然出现同样的问题... :-(

同样的问题在这里

删除node_modules然后运行npm install后是否仍然发生这种情况?

@hramos
我尝试删除 node_modules 并重新安装,但它不起作用。

@hramos感谢您的团队合作!

昨天我用react-native-git-upgrade我的项目0.44.0到0.44.1,ok,完美。 但是现在,我使用 react-native-git-upgrade 我的项目 0.44.1 到 0.44.2,这里有同样的问题。

我认为反应原生 0.44.1 升级到 0.44.2 的问题

同样在这里。 但从 0.44.2 降级到 0.44.1 后,问题消失了,一切都恢复正常。

同样在这里。

android上同样的错误

在android上相同,删除node_modules并重新安装,但它不起作用

同样在这里。 几乎整个团队都被这个错误困住了。

同样在这里

同样在这里,有什么解决方案吗?

同样在这里

我已经降级到 v 0.44.0 并且一切正常。

@sirgalleto我不确定降级到v0.44.0是否是解决方案,因为这是@PhillippOhlandt使用的版本。 我很确定它可能是这样的: https : react-native-router-flux包的要求.

@RohanVB@sirgalleto移动到 0.44.1 没问题,如果您在 0.44.0 上遇到问题。

@valinaga我不认为这是 react-native 包版本的问题,而是
目前对 router-flux 的支持没有扩展到 16.0.0-alpha.6。

“http”模块有同样的问题。 我在 v0.44.0

请不要添加“我也是”的评论,除非您提供额外的细节来帮助复制。 我建议您改为订阅该问题并对原始帖子添加反应。 谢谢!

同样在这里。 但是当我使用npm而不是yarn时消失。

@hramos我认为人们只是想表达他们对此类问题的恐慌感:)

我刚刚从0.44.2 -> 0.44.3升级

这只是发生在我身上,这是因为我在端口 8081 上有一个挂起的“节点”进程,阻止了 React packager 的新实例启动。 我做了 killall -9 节点,然后很好。

将其更改为 "react-native": "0.44.0",
删除 react-native 并重新安装。

Thakns @ne0fite

我们现在是 0.45,它确实有它自己的问题 (#14246)。 让我们等待 #14246 修复,然后我会建议您使用 0.45。

我在运行“react-native”:“0.44.0”时遇到了类似的问题。 我删除并重新安装了我的节点模块,还在我的终端中运行了“killall -9 node”,我的项目再次运行。

听起来很愚蠢,但重新启动计算机可能是解决方案!

我更改了版本,现在它恢复工作可能是版本中的问题,我回到“0.44.0”并再次工作

0.45.1 现在可用。 你能检查一下这是否仍然在 0.45.1 中重现吗?

这在 0.45.1 中仍然存在。 与上述所有人相同的重现步骤。

事实上,更简单的测试是这样的:新建文件夹, npm install [email protected] ,然后打开一个控制台并运行:

require('react-native').AccessibilityInfo
Error: Cannot find module 'AccessibilityInfo'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/laika/x/node_modules/react-native/Libraries/react-native/react-native-implementation.js:19:36)
    at repl:1:24
    at ContextifyScript.Script.runInThisContext (vm.js:23:33)
    at REPLServer.defaultEval (repl.js:339:29)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)

在多台机器/环境中复制。

这不会在一个全新的项目中为我重现。 我试过了:

react-native init Test
cd Test
react-native run-ios

反应原生版本:0.45.1
纱线版本:0.24.3
macOS Sierra,Xcode 8.3.3

我还升级了一个使用 0.42 的旧项目以使用 0.45.1,但无法重现该问题。

这仍然在 0.45.1 中为我重现
我不能反应原生 init NewProject,我在我的旧项目中将它与 cocoapods 一起使用。

版本:
反应原生cli:2.0.1
反应原生:0.45.1
纱线:0.24.5
macOS Sierra,Xcode 8.3.2

我只是点击“react-native init”,然后点击“react-native run-ios”,在启动模拟器时,我看到了众所周知的错误消息:“找不到模块 AccessibilyInfo”

版本:
在 macOS Sierra 上,react-native 0.45.1

我希望我能帮上忙,继续努力!

编辑:我刚刚删除了需要此模块的行,现在一切正常:Noob fix 🙃

我删除了我的 node_modules 文件夹
然后:

npm install
npm start -- --reset-cache

为我修好了。

我使用最新版本的[email protected]node@latest修复了它......我不知道为什么,但现在 react-native init 有效......

我认为这可能与这个 npm 问题有关
https://github.com/npm/npm/issues/16839#issuecomment -308809150

我不是极客 - 但有人可以说明是什么帮助解决了这个问题吗? 我试过了:

  1. 守望者 watch-del-all
  2. rm -rf node_modules && npm install
  3. npm start-- --reset-cache

我在 react-native 0.44.3 上运行

我很高兴学习如何解决这个问题。 非常感谢
//西蒙尼

@skalbfell正如@MehdiAlouafi指出的那样,我删除了这一行并且它有效

当我第一次删除它时它可以工作但第二次(之后
我相信安装另一个依赖项)该应用程序抛出完全相同
错误但是.. 在下一行有所需的包!

我真的认为这是一个 npm 问题,一个简单的 npm 安装
之后 react-native@latest使一切恢复正常

——
迈赫迪·欧阿菲
前端开发初级

法国巴黎

投资组合http://mehdialouafi.github.io/Portfolio/ - Behance
https://www.behance.net/MehdiAlouafi/ - 推特
https://twitter.com/AMehdiW - 领英
https://fr.linkedin.com/in/mehdi-alouafi-440529116

太好了。 肯定是0.44.2版本的问题
如果您降级到 0.44.0,它会再次运行。

非常感谢! //西蒙尼

我对 0.45.1 有同样的问题

我在 0.45.1 中再次出现了这个。
我用 npm start-- --reset-cache 修复了它

+1

与 0.44.3 相同(我清理了项目,删除了 node_modules,删除了守望者手表,并清空了缓存)

当我用react-native init (RN 0.45.1) 创建一个新项目时,我没有问题,但在我的项目 0.45.1 上我仍然有它。 我是否清理项目、清空缓存、使用 NPM 代替 Yarn、删除 node_modules 都没有关系。

任何的想法?

@brendan-rius 我和你有同样的问题,不管怎样,错误仍然存​​在,但是,我清理了项目并使用react-native-git-upgrade进行升级,神奇地一切开始工作,错误消失了:困惑:

检查一下react-native-git-upgrade

_ps_:我正在使用[email protected]

在遵循所有这些建议之后,我仍然得到了这个。 尝试了 react-native-git-upgrade。

我正在使用这些版本:

    "react": "^16.0.0-alpha.12",
    "react-native": "^0.45.1",

有任何想法吗? 它似乎才刚刚开始发生。

你能通过你的 npm modules 文件夹查找,react-native 目录是
空的 ?
使用 npm 安装一个节点模块后,我的是空的

如果它是空的尝试运行 npm install --save react-native@latest ,它解决了
对我来说

谢谢@MehdiAlouafi 。 不过我的看起来不错:

ls node_modules/react-native/Libraries/react-native
React.js  react-native-implementation.js  react-native-interface.js

我们的团队一直在构建失败,直到我们将babel-preset-react-native从 2.0.0 降级到 1.9.1。 可能是babel-preset-react-native 2.0.0 版的问题,而不是整个 RN 的问题。

目前我们正在使用:

"react": "16.0.0-alpha.12",
"react-native": "0.45.1",

其他建议的解决方案对我不起作用,但这对

“反应”:“^ 16.0.0-alpha.12”,
“反应原生”:“^0.45.1”,

  • [ ] - npm install npm@latest -g
  • [] - npm 缓存清理
  • [ ] - npm 卸载 react-native-cli -g
  • [] - npm install react-native-cli -g

删除"react-native": "^0.45.1"中的“^”符号并运行npm install为我工作

安装 react-native-fetch-blob (注意与问题无关)后,问题再次出现。 清理 tmp、重置缓存、删除 node_modules 都是 npm install 没有效果。 问题一直存在。 然后我尝试了所有的老式 MS Windows 解决方案:重新启动我的笔记本电脑(它是 Mac),问题就消失了。 因此,如果您没有选择,这可能会有所帮助。 我确实为我做了。

使用:
“反应”:“16.0.0-alpha.12”,
“反应原生”:“0.45.1”,

使用 --reset-cache 标志启动打包程序似乎有帮助: node node_modules/react-native/local-cli/cli.js start --reset-cache

有同样的问题。 新安装以及现有安装。
适用于运行 iOS 版本的 Mac。
在带有 Android 的 Windows 上,我得到:
错误:捆绑:UnableToResolveError:无法解析模块AccessibilityInfo

我已经尝试了上面的每个例子。
删除和卸载节点/ npm。
删除 node_modules 并重新安装。
从重置缓存开始

没有。 我似乎无法摆脱 Windows + Android 上的错误。

使用:
npm: '3.10.10',
节点:'6.11.0',
反应:'16.0.0-alpha.12',
反应原生:'0.45.1'

关于我接下来可以尝试什么的任何想法? 真的很感激。 没有想法了。

我今天遇到了同样的错误,如果我手动运行 react-native 打包程序

npm run start -- --reset-cache

当我加载包时,它显示

This warning is caused by a <strong i="9">@providesModule</strong> declaration with the same name across two different files.
jest-haste-map: <strong i="10">@providesModule</strong> naming collision:
Duplicate module name: AccessibilityInfo
Paths: project/ios/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js collides with project/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js

和许多其他本机模块同样的错误,所以我不得不删除Libraries文件夹中的ios ,立即重新启动一切,这是确定的,我

尝试在模块项目的子文件夹中创建新的 RN 项目并尝试通过file:../访问库时,我在 linux/android/npm 上运行它时遇到了这个问题。

编辑:最后当做一个新的react-native init结束工作。

编辑 2 :我认为这是因为 react-native 在依赖关系树中出现了两次,这可能是因为您的项目的某些给定依赖项没有将其用作对等项,而只是考虑负载。

这也杀了我们。 28 天和 62 条回复后, @javache@davidaurelio是否对修复有回复或 eta? Fingers x'ed that 0.9 facebook/ metro-bundler@b62669e一小时前发布,不知何故帮助...

@nico2che您是否对删除 Libraries 文件夹有任何不良影响? 我安装了像 react-native-navigation 这样的软件包。 删除这个会影响吗? 或者它只是重新构建?

这也不会影响我的 Mac + iOS 版本。 它完美地工作。 这是我尝试在 Windows 10 上启动 Android 的时候。

供参考:
在 OS X 上,只有当我将打包程序作为“npm start --clear-cache”运行时才会遇到这个问题。
如果我删除 --clear-cache 参数,项目代码运行良好。

刚刚尝试并确认。
在运行 Android 的 Windows 上,无论是否使用 --clear-cache / --reset-cache 使用 npm start 都会显示错误。

谢谢你的想法。

@ianataffinity由于您使用的是 Windows 10,您是否尝试过使用https://mobile.azure.com构建您的项目? (目前是免费的,所以不会产生任何费用)。 我问是因为我发现他们的日志输出比 react-native 的股票红屏更有帮助。

我只是通过将我的 js 文件从'index.js'重命名为'index.ios.js'来修复它。 然后加载http://localhost:8081/index.ios.bundle时错误消失了

@nandesu感谢您对此的关注。 移动 Azure 非常好。
我已经成功地集成了它,但是没有任何崩溃报告通过。 我似乎只是在出现无法解析模块AccessibilityInfo错误的红屏。

也许在它出现之前需要等待一段时间,我不确定。

我遇到了与@nico2che相同的错误,但他建议的解决方案并没有为我解决问题。 相反,我通过自制软件重新安装了 node 和 npm,并以某种方式完全解决了问题。

似乎这已成为任何未捕获的打包程序错误/异常的默认捕获全部。 我们是否在最新版本的 RN 中丢失了错误捕获类或尝试捕获?

我遇到了同样的问题。 当你完成rm -rf $TMPDIR/react-* && watchman watch-del-all && rm -rf ios/build/ModuleCache/* && rm -rf node_modules/ && yarn cache clean && yarn

并运行react-native link
我有
`RNFetchBlob 检查应用程序版本..
RNFetchBlob 检测到应用程序版本 => 0.44
添加 Android 权限 => false
react-native-fetch-blob 0.9.4后不会自动添加Android权限,如果要添加默认权限请运行以下命令:

RNFB_ANDROID_PERMISSIONS=true react-native link

`

试试RNFB_ANDROID_PERMISSIONS=true react-native link
它固定在我身上。

我花了一些时间在 Android Studio 中打开 Android 应用程序并将 Gradle 文件与项目同步,并逐一修复构建中出现的任何错误。

这包括在使用react-native link和一般异常时错过托管链接项目。

一旦我得到正确的构建,我就在调试模式下启动它,将它连接到我的 Genymotion 实例,然后运行“npm start”,以便它可以找到打包程序。

这似乎让这一切对我有用。

有同样的问题,在我的情况下,我有两个package.json文件,一个在根目录中,另一个在android/ 。 还以某种方式设法安装了两组节点模块——有node_modules/android/node_modules目录。 我的解决方法是删除android/package.jsonandroid/node_modules

对我来说,“纱线安装”不起作用,我所做的是:

rm -fr 节点模块/
安装

在我的情况下,打包程序实例也给了我警告:

“此警告是由在两个不同文件中具有相同名称的@providesModule声明引起的”。

另一个症状是将require('AccessibilityInfo')语句编辑为require('../Components/AccessibilityInfo/AccessibilityInfo') react-native-implementation.js导致错误落在下一行,说:

“无法解析模块‘ActivityIndi​​cator’”

所以,就我而言,我已经在我的项目中安装了react-native-paypal 。 这个模块中有一个示例项目,它有自己的package.json - 我在其中运行了npm install ,并且react-native也包含在 _its_ node_modules文件夹下,例如:

/my_project/node_modules/**react-native**
/my_project/node_modules/react-native-paypal/ios/Example/node_modules/**react-native**

删除更深的node_modules文件夹为我解决了这个问题。

希望它可以帮助某人。

我们终于找到了我们的情况,它类似于在@nijolas@pelotasplus的情况下出现的情况:依赖包中的冗余node_modules / package.json

在我们的例子中,我们发现了两个包的问题, react-native-photos-frameworkreact-native-svg 。 在每一个中, AccessibilityInfo异常掩盖了不兼容性。

在照片框架中,lib 仍然使用 React 的 PropTypes 而不是包prop-types ,并且还使用最新的 Babel 预设。 在 svg lib 中, react-native错误地列为依赖项,而不是 peerDependency 或 devDependency。 当你的 react-native 包与他们的不匹配时,npm 将创建一个node_modules与该依赖项中的不同版本,这就是一切都崩溃的时候。

这是react-native-photos-framework的 PR:olofd/react-native-photos-framework#56

并且react-native-svg已经有一个公关开放:react-native-community/react-native-svg#360,或者使用我的叉子直到发生这种情况: https :

我最好的建议是查看非标准react-native / babel package.json设置的所有依赖项。 如果您看到嵌套的node_modules ,您可能已经发现了一些问题。

我遇到了这个bug😭
我目前正在使用这些版本

    "react": "^16.0.0-alpha.12",
    "react-native": "^0.45.1",
    "react-native-cli": "^2.0.1"

@DevHossamHassan你不应该在这里使用 '^' 部分版本,因为 alpha :

"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
"react-native-cli": "^2.0.1"

该死的! 有大神知道怎么解决这个问题吗?
"react": "16.0.0-alpha.12", "react-native": "0.45.1",

我也遇到了这个可怕的问题。

"react": "16.0.0-alpha.12",
 "react-native": "0.46.0",

我几乎删除了所有.npm .rncache node_modules .... 但也没有用

我有一个 node_modules 文件夹的工作版本和一个不工作的版本。 工作的一个是旧的(从早期版本更新),而另一个是新获取的。

我跑了 diff --brief -r node_modules node_modules2
node_modules 是非工作的
node_modules2 是工作的
这是输出(219 行):
https://pastebin.com/BjACU7fT

我刚刚从0.45.1 -> 0.46.0再次升级。 似乎每次我升级它都会重新出现,而且我不确定这些魔术中的哪一个让它消失了。

  • 重置守望者:
watchman watch-del-all
  • 重新安装模块:
rm -rf node_modules/
yarn
  • 清除打包缓存:
rm -fr $TMPDIR/react-*
  • 清理 XCode 项目

  • 重新启动 OSX(我知道这听起来很愚蠢,但这在过去确实解决了它......)。

通常上面的一些组合最终会解决这个问题,但到目前为止,在新的0.46.0版本上没有一个对我有用。

我一整天都在为此苦苦挣扎,我终于得到了一些工作。 我在关注此线程https://github.com/facebook/react-native/issues/14843 时发现了这一点,尽管我使用的是 react-native 0.45.1 并且基本上有一个具有单一依赖项的新应用程序。

我不知道为什么,但是安装babel-plugin-idx为我解决了这个问题。

脚步

首先安装插件:

yarn add babel-plugin-idx

然后更新.babelrc

{
  "presets": ["react-native"],
  "plugins": ["idx"]
}

最后,启动应用程序

react-native run-ios

背景

我实际上正在制作一个生成器,该生成器以内部库作为依赖项创建新的 react-native 应用程序,并在添加此库后出现上述错误。 只有通过添加这个插件,我才能继续使用我的内部库。 它只有 JS,没有本机代码,也没有依赖项,只有 devDependencies 和 peerDependencies,因此 node_modules 最终为空。

我找到了这个解决方案,因为我注意到有时我实际上看到了TRANSFORM ERROR: UnableToResolveError: ... ,这让我走上了 babelrc 的道路。 似乎 babel 和 peer 对 react 和/或 react-native 或其他一些依赖项的要求存在一些问题,但我不完全确定。 至少现在我使用这个 idx 插件有一个 0.45.1 的可重现的、稳定的构建。

附加信息

  • 反应本机版本:^0.45.1
  • 平台:ios
  • 开发操作系统:OSX

我试图从 0.43.3 升级到 0.46,但不断收到此错误。 我浏览了我所有的图书馆,他们对我来说看起来很好,因为已经把 peerDependies 放在了正确的位置上。 我还在我的 node_modules 中找到了一个发现: find node_modules -name "react-native*"并且没有向我显示任何尚未确定的包! 这个错误开始让我烦恼,我很想升级东西!

我的依赖在这里:

  "dependencies": {
    "@mapbox/polyline": "^0.2.0",    
    "axios": "^0.15.3",    
    "babel-plugin-transform-decorators-legacy": "^1.3.4",    
    "better-npm-run": "0.0.14",    
    "moment": "^2.18.1",    
    "native-base": "^2.2.0",     
    "react": "16.0.0-alpha.4",
    "react-native": "^0.46",
    "react-native-easy-grid": "0.1.13",
    "react-native-fabric": "^0.4.1",
    "react-native-maps": "^0.15.3",
    "react-native-vector-icons": "~4.1.1",
    "react-navigation": "^1.0.0-beta.11",
    "react-redux": "^5.0.3",
    "react-router-redux": "^4.0.8",
    "redux": "^3.6.0",
    "redux-devtools-extension": "^2.13.0",
    "redux-logger": "^2.8.2",
    "redux-saga": "^0.14.3",
    "stacktrace-js": "^2.0.0",
    "url-parse": "^1.1.9"
  }, 
  "devDependencies": {
    "babel-eslint": "^7.2.3",
    "babel-jest": "18.0.0",
    "babel-plugin-module-resolver": "^2.7.0",
    "babel-preset-react-native": "^2.0.0",
    "eslint": "^3.19.0",
    "eslint-config-airbnb": "^14.1.0",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-react": "^7.0.1",
    "eslint-watch": "^3.1.0",
    "jest": "18.1.0",
    "jsx-control-statements": "^3.2.5",
    "react-test-renderer": "15.4.2",
    "reactotron-react-native": "^1.10.0",
    "reactotron-redux": "^1.10.0",
    "reactotron-redux-saga": "^1.10.0",
    "source-map": "^0.5.6",
    "wml": "0.0.82"
  },
  "jest": {
    "preset": "react-native"
  }

我遇到了这个问题,但在尝试了以下步骤后现在可以了

1) 删除 node_module 文件夹
2)“npm安装”
3)“cd android”然后“./gradlew clean”
4) "npm start -- --clear cache"
5) 重建

我的依赖

   "dependencies": {
    "react": "16.0.0-alpha.12",
    "react-native": "0.45.1",
    "react-native-button": "^2.0.0",
    "react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
    "react-native-camera-roll-picker": "^1.1.9",
    "react-native-maps": "0.15.0",
    "react-native-responsive-image": "^2.1.0",
    "react-navigation": "git+https://github.com/react-community/react-navigation.git"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-preset-react-native": "2.0.0",
    "jest": "20.0.4",
    "react-test-renderer": "16.0.0-alpha.12"
  },
  "jest": {
    "preset": "react-native"
  }

须藤反应本机开始
然后
react-native run-ios || 运行-android
👍

@jmullings类似通过运行为我工作:
须藤 npm 开始
react-native run-ios

似乎是节点打包程序引起了问题?

只是一个菜鸟,但它对我有用。

对我来说唯一改变的是它在运行react-native startsudo

我在 Windows 上,所以不能用 sudo 运行。 我用管理员运行控制台

今天我也有这个错误

Loading dependency graph, done.
error: bundling: UnableToResolveError: Unable to resolve module `AccessibilityInfo` from `D:\iosReactTest2\node_modules\react-native\Libraries\react-native\react-native-implementation.js`: Module does not exist in the module map or in these directories: D:\iosReactTest2\node_modules\react-native\node_modules,   D:\iosReactTest2\node_modules

我尝试了上面的解决方案,但没有任何效果......
我的 package.json

{
  "name": "iosReactTest2",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "native-base": "^2.2.1",
    "react": "^16.0.0-alpha.12",
    "react-native": "^0.45.1",
    "react-native-button": "^2.0.0",
    "react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
    "react-native-camera-roll-picker": "^1.1.9",
    "react-native-maps": "0.15.0",
    "react-native-material-ui": "^1.12.0",
    "react-native-responsive-image": "^2.1.0",
    "react-native-side-menu": "^0.20.3",
    "react-native-vector-icons": "^4.2.0",
    "react-navigation": "git+https://github.com/react-community/react-navigation.git"
  },
  "devDependencies": {
    "babel-jest": "20.0.3",
    "babel-preset-react-native": "2.0.0",
    "jest": "20.0.4",
    "react-test-renderer": "16.0.0-alpha.12"
  },
  "jest": {
    "preset": "react-native"
  }
}

保持冷静并奔跑yarn install babel-preset-react-native-stage-0
npm install babel-preset-react-native-stage-0如果您使用的是 npm)

react-native start -- --reset-cache
react-native run-ios
react-native run-android

这终于为我解决了这个问题。 请确认它是否适用于其他任何人。

每次我做一个 react-native init 然后npm install一些依赖我都会遇到这个错误。 我只是尝试改用yarn add ,现在一切正常。

在某些时候,上面描述的一些解决方案对我有用(例如rm .babelrc一个),但它总是由npm install触发。

我认为这是 npm 的问题……我的 Windows清除所有脚本:

"reset1": "rimraf \"%userprofile%/AppData/Roaming/npm-cache/*\""
"reset2": "rimraf \"%userprofile%/AppData/Local/Temp/react-*\""
"reset3": "rimraf \"%userprofile%/AppData/Local/Temp/npm-*\""
"reset4": "rimraf node_modules"
"reset5": "npm cache clean"
"reset6": "npm i"
"reset7": "node node_modules/react-native/local-cli/cli.js start --reset-cache"

"test-exp-start": "exp start --clear"

@sjmueller是对的。 AccessibilityInfo 异常掩盖了不兼容问题。 对我们来说,react-native-pathjs-charts 需要的是 React Native SVG 5.2。 将 React Native SVG 升级到 5.3 解决了这个问题。

如果您仍然遇到此问题,请尝试查找具有 RN SVG 5.2 的依赖项。 如果仍然找不到问题,请尝试删除一些依赖项并运行以下命令,直到找到罪魁祸首。

watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache

我已经尝试了该线程中所有可能的建议,但没有任何效果对我有用。
尽管有效的解决方案是将我的项目克隆到不同的文件夹名称并重新安装所有内容。
出于某种原因,我的 mac 上必须有一些缓存,上面的命令不会清除在某处具有我的项目名称的...(即使重新启动并重新安装纱线/节点也不起作用)

试试这个:删除 $TMPDIR/react-* 和文件 $TMPDIR/haste-map-react-native-packager-*

$ rm -rf $TMPDIR/react-* && rm $TMPDIR/haste-map-react-native-packager-*

我猜它通过使用 sudo 运行对某些人有效的原因是因为它可能使用不同的 $TMPDIR,因此需要重新创建快速映射...文件。

@kensongoo也许我们可以编译一个确认存在此问题的依赖项列表。 我在我的 node_modules 中没有看到 react-native-svg,我正在我的依赖中寻找嫌疑人,但到目前为止没有运气......尽管任何关于如何识别坏的提示将不胜感激。 或者也许是一个识别坏脚本的脚本?

@ricardosasilva的解决方案对我不起作用。 我有一个@kensongoo解决方案的 shell 脚本,每次发生崩溃时我都会运行它。 在 React Native 的最新稳定版本 0.46.3 下,这个 bug 似乎每 15-20 分钟就会出现一次,使开发速度减慢到低于 Java 的速度。

我设法通过将依赖项一一升级到最新版本来修复我的项目,直到它工作为止。 对我来说,罪魁祸首是路由器。

步骤是
yarn upgrade someLib
清洁一切
建造
冲洗并重复

编辑:您可能需要从库依赖项中删除^标记,以便安装精确版本,someLib: ^0.5.1 -> someLib: 0.5.1

我使用@ywongweb的解决方案并解决了这个问题,只需升级所有依赖项即可。

// first upgrade react-native
$ react-native-git-upgrade
// second upgrade dependencies
$ yarn upgrade

刚刚做了一个初始化并得到这个错误。

试过
// 首先升级 react-native
$ react-native-git-upgrade


// 第二次升级依赖
$纱线升级

以及通常的重置缓存等,仍然无法解析模块AccessibilityInfo

@johngoren我们如何找到罪魁祸首有点愚蠢,但很有必要,因为我们找不到任何日志给我们任何有用的提示。 我们将项目克隆到一个单独的目录,并开始逐个删除我们怀疑是罪魁祸首的模块,并运行下面的脚本(与我之前发布的相同),直到问题消失。 除了 RN-SVG,尝试寻找具有旧版 RN 开发依赖项的模块。 祝你好运!

watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache

RN 0.46.4没有😞

同样的情况仍然发生在"react-native": "0.47.0-rc.4", ,没有解决方法:/

虽然0.46.4主要为我修复了它,但今天早上错误又回来了,但只有当我升级到react-native-firebase的最新版本时。

任何更新或解决方法? 我也有同样的问题

我也有同样的问题。 我一生中从未见过像 React Native 这样有这么多问题的项目。 恐怖!!!!!!

我降级到 0.44.0,然后删除了 node_modules,也做了 npm install。 之后,它开始工作。
降级到 0.44.0 后,我确实遇到了无法解析 ReactPropTypes 的情况。 但是这个页面解决了我的问题。

我现在被困在这个问题上将近 2 天了。 恢复到以前对我有用的 0.41.2。 像 0.44.x 这样提到的版本都没有工作。

我花了更多的时间调试这个问题而不是编写代码。 我们能得到官方回应吗?

我目前正在使用"react-native": "0.46.1" ,因为我遇到了这个错误,所以我切换到了纱线,从那时起我就不再遇到问题了。 它可能会或可能不会链接到 npm,即使当前的一些 npm5 问题与安装过程中删除的依赖项有关。

我在向 package.json 添加新包时遇到了这个问题:
https://www.npmjs.com/package/react-native-swipe-hidden-header

如果我删除这个包,问题就会消失。 这让我很难过,因为我想检查一下,现在我被迫将其删除。

@RyderMS这是重要信息,但即使它是与某些 3rd 方库的兼容性问题,我认为我们至少需要更好的错误描述才能确定哪个库导致问题。

在我的项目中,有 8 个重要的依赖项以 RN 3rd 方库的形式存在,我无法突然将它们全部删除。

对我来说, @ricardosasilva 的回答完成了工作! 删除haste-map是诀窍! 谢谢!

确认@ywongweb的解决方案对我

我已经尝试了除此之外的所有解决方案,包括清除 npm 缓存、重置 watchman 等。但最后我只做了一个yarn upgrade ,并且日志显示与我使用npm install时相比添加了一些新模块

我猜纱线在寻找模块方面可能有一些差异。 但我仍然希望npm install可以解决这个问题。 我认为在解决此问题之前,最好在文档中指出它。

嗨,伙计们只是想分享对我有用的东西。 我正在使用世博会。 我删除了我所有的 node_modules、npm install、reset-cache、重启 expo 服务器,我还更新了 expo 我想我落后了一个版本(可能相关也可能不相关)。 祝大家好运!

Facebook员工,请帮忙

问题显然是第三方模块的一些问题。 但冲突究竟是什么? 如果我知道问题是什么,我很乐意修补我想使用的这些模块。

我想我已经找到了问题所在。

当导入了重复的模块时,似乎会发生这种情况。 当第三方 npms 包含 Example projects 时,这种情况最常发生。 例如,在这个 NPM https://github.com/invertase/react-native-firebase 中有一个目录example/demo

您可以手动删除node_modules这些示例文件夹作为临时解决方法,但真正的解决方案是修补 npms 以不再分发示例项目。

伙计,我讨厌升级。 我不应该向客户收取这么多小时的费用,但我会的。

我花了 4 个小时尝试和搜索解决方案......没有结果
很头疼😞,勇气反应原生团队

一一安装所有依赖项似乎是唯一对我有用的方法。

如果我克隆我的项目 repo(或删除 node_modules),然后让 npm 或 yarn 自动安装依赖项,我总是以这个错误告终。

花了很多时间试图找到解决这个问题的方法,但至少我想我现在知道如何处理它了。

嘿伙计们@kensongoo方法奏效了。 确保重新启动机器,否则错误将持续存在。

重新启动机器或清除缓存对我没有任何作用。

在一个月的构建失败后,升级到 RN 47 为我解决了这个问题。 如果你有能力,我会建议升级。

谢谢, @HilSny ,我会检查

当某个模块(在我的例子中react-native-router-flux )在它自己的node_modules文件夹中安装了不同的 react-native 版本时,就会发生这种情况。

首先,为了安全起见,我尝试了核选项:
watchman watch-del-all && rm -rf node_modules && npm install && rm -fr $TMPDIR/react-* && npm start -- --reset-cache

运行打包程序后,一连串的错误表明仍有问题。 例如:

Loading dependency graph...
jest-haste-map: <strong i="14">@providesModule</strong> naming collision:
Duplicate module name: ReactUpdateQueue

我在node_modules文件夹中搜索了ReactUpdateQueue ,发现哪个模块在它自己的node_modules有额外的react-native安装。

所以,最后,我从node_modules\react-native-router-flux\node_modules中删除了react-native文件夹,解决了这个问题(直到我决定升级我的各种模块。)

我在这次提交后今天开始得到这个,但完全恢复它并没有帮助问题消失(运行整个watchman ...命令)。 真是奇怪的东西。 还有其他想法吗?

还尝试使用节点 6、7 和 8、npm 3、4 和 5。没有组合也可以解决此问题。

在运行笑话测试时发生,突然开始发生。

image

G:\www\react-native-stager>npm ls --depth=0
[email protected] G:\www\react-native-stager
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- [email protected]
+-- [email protected]
+-- UNMET PEER DEPENDENCY [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]

当我将机器从 Ubuntu 服务器更改为本地 Mac 时,这个问题对我来说就像魔法一样消失了。 完全不知道原因。 两台机器上的节点版本均为 6.11.2,npm 3.10.10。

瞧,瞧。 同样的命令和代码今天也开始工作,虽然我看到一些依赖项发生了变化,但它们似乎并不相关。

既不能在 Travis-CI 上也不能在本地进行测试,最终它会神奇地自行解决(具体如何,我不确定)

它确实神奇地解决了自己......哇,决定论在这一点上很强大

最后它对我有用! 万岁! 🙌
“反应”:“^ 16.0.0-alpha.12”,
“反应测试渲染器”:“16.0.0-alpha.12”,
“反应原生”:“^0.47.1”,

我更新了我所有的 SDK/JDK/Node/NPM/blablabla,做了一个cd android && gradlew clean ,现在一切都很好! (我希望它会持续......)

当您的依赖项之一依赖于旧版本的 React-Native 时,问题似乎就出现了。

例如,当我升级我的项目以使用 RN 0.47 时,我开始收到此错误并且无法摆脱它。 发现我的依赖项react-native-svg依赖于 RN 0.45,并且还在我的 node_modules 文件夹中安装了该版本冲突。 我已经更新、重新安装、清理所有缓存并重新运行应用程序,它工作正常!

所以我认为,如果您收到此错误并且无法摆脱它,那可能是因为您的 node_modules 中有 1 个以上版本的 RN,因为您的依赖项之一需要旧版本,或者因为您的项目仍在使用旧版本和您的依赖项之一使用较新版本。 0.45 及以下似乎不适用于 0.46 及以上...

尝试重命名项目文件夹名称。 这个对我有用。

mv origin_project new_project

所有这些“解决方案”都在尝试重建缓存,但这只会在错误(无论何时)已经修复的情况下才能解决问题。

我不确定这是否是一个有用的线索,但是如果我将 node_modules 目录 cp 到第二个冗余目录中,我可以在我的 RN 0.47.0 设置中重现该错误。 在捆绑时,系统会清除我所有模块的重复项,并在构建窗口中抛出“重复的模块名称”错误。 与此同时,我们又回到了我们熟悉的红屏上的 AccessibilityInfo。

AccessibilityInfo 是什么? 这个模块是否只是在一些旧的、对可访问性不友好的 RN 版本之后添加到 RN 中的,当系统在子文件夹中找到 RN 时,系统错误地回退了?

@johngoren我认为AccessibilityInfo的唯一特别之处在于它是导入的第一个模块(它们在失败的文件中按字母顺序排序)

对我来说,使用“npm install”不起作用,后来我收到了无法找到 AccessibilityInfo 模块的错误。
然后我只是安装了它的“纱线”,并且该应用程序起作用了。 但我读到,对于这里的其他一些人,解决方案恰恰相反。 好吧,我会尽我所能享受工作,我不会尽可能地更新任何东西。

没有将我的 react-native 更新到最新版本。 我的还是 0.45.1

watchman watch-del-all
rm -rf ./node_modules
yarn cache clean     // if you are using yarn 
rm -rf $TMPDIR/react-*

重启机器

npm install
react-native link

工作了!! :)

我的解决方案与@zdol相同,它可能在 _node_modules_ 中复制了具有不同版本的 react-native,不过只是临时解决方案。

我对 0.47.0 和 0.47.1 有任何更新有这个问题吗?

我删除 node_modules

守望者 watch-del-all
rm -rf ./node_modules
rm -rf $TMPDIR/反应-*

没有任何效果

@Elijen是的,是的,它绝对是出于字母顺序的原因(我想我也看到了一个类似的错误,它提到了 DatePickerIOS 而不是 AccessibilityInfo。)但我想知道,如果我们能找出何时将 AccessibilityInfo 添加到 RN,也许可以如果我们根据某个模块正在加载过时的、不兼容的 RN 版本的理论,帮助隔离正在发生的事情。

我有同样的问题加班我通过 npm 添加模块。 我唯一一次通过它是按照步骤并重新启动机器。

天哪...

@johngoren
AccessibilityInfo 模块可能与此无关。 它恰好是 react-native 模块中的第一个导入。

如果您注释掉导入 AccessibilityInfo 的行,它将在下一次导入时以完全相同的方式失败。

@teppix从没想过 AccessibilityInfo 本身就是问题所在。 相反,我们认为我们可以开始确定这个问题的更大原因,并开始确定导致错误的特定 RN 模块版本。

我们必须超越仅仅通过清理缓存而在其上缠上绷带! 🍕🍕🍕

不知道为什么它有帮助,但我删除了我的项目文件夹,从 github 克隆它,重新构建它,就是这样 - 错误消失了。
这个 RN 魔法让我发疯了。

只是和@sidious18 一样(删除了我的项目文件夹,从 github 克隆它,再次构建它)并且错误仍然存​​在。 我已经尝试了所有步骤,但没有任何效果。 很伤心:/

疯狂的是,这个问题自 5 月 26 日以来就存在。听起来每个版本都将它带回来......

我找到了导致错误的模块,将其升级到相同的 react-native 文件,但仍然出现错误:/

我发现不匹配的 devDependencies 正在使这种情况发生。 例如,使用[email protected]作为[email protected] ,然后 react-test-renderer 安装[email protected]和另一个依赖安装[email protected] alpha.6 (不确定是哪个)。 您可以通过删除npm ls --depth=10 | grep react@返回的额外反应版本来强制始终使用最新的反应测试版

我的第 14209 期旅程。

对我来说,有一个关于“缓冲区”不可用的初始错误。 我忽略了这个(啧啧),但随后模拟器报告了“AccessibiltyInfo”错误。 我开始删除 node_modules、缓存和守望者,但它不会消失。 但是后来(出于某种原因)我运行了一个不同的打包程序,原始错误再次突出显示。 其中一个子包没有安装所需的“缓冲区”包。 我把它加进去了,“瞧”。

我的建议:

第 1 步:忽略“无法解析模块AccessibilityInfo ” - 这是一个红人(正如一些人报告的那样,它只是 react-native 中一长串导入中的第一个,删除导入只会使下一个一个有问题,下一个,等等...)
第 2 步:某处存在不一致……(特别注意 react-native 打包程序)。

只是好奇是否有人能够在没有此错误的情况下构建 0.47.2? 我不能,即使是一个新项目。 我每次都收到 AccessibilityInfo 错误。 然而我可以在 node_modules/react-native/Libraries/Components/AccessibilityInfo 中看到 AccessibilityInfo。 为什么找不到这个文件?

有没有人在这个项目上工作过注意到这个问题? 对我来说似乎是一个关键的阻碍。

我已经使用 0.44.1 几个月了。 任何更高的版本根本不起作用。 我知道 Facebook 不久前宣布 RN “生产就绪”(https://facebook.github.io/react/blog/2014/03/28/the-road-to-1.0.html)但我认为缺乏1.0版本证明这可能是一个乐观的说法。

如果你必须使用 React Native 并且需要克服这个错误,我建议:

“反应”:“16.0.0-alpha.6”,
“反应原生”:“0.44.1”

(和五分之一的威士忌)

我之前说过:

我目前正在使用“react-native”:“0.46.1”,因为我遇到了这个错误,所以我切换到了纱线,从那时起我就不再遇到问题了。 它可能会或可能不会链接到 npm,即使当前的一些 npm5 问题与安装过程中删除的依赖项有关。

自 7 月 26 日以来,我为 react-native 项目切换到纱线,我不再遇到此错误,很抱歉重新发布此答案,但这可能会有所帮助。 我认为这绝对是一个 npm5 问题。

我验证了最后一个已知的工作版本是关于这个问题的 react 0.46.4。 我一直在从 0.47.0、0.47.1 和 0.47.2 进行复制,并尝试了 Node 7.6、8.3、8.4,不管 npm 的行为如何。

我强烈建议在react-native 上使用rninit ,因为它就像在homebrew 上使用nvm 一样,并允许您快速测试(相对于替代方案)哪个版本是可以的。

在我的情况下,问题是纱线。 我最近安装了yarn v0.27.5 ,然后 _ react-native init _ 开始使用 yarn 而不是npm来安装 react 和 react-native。
后来当我使用 npm 安装依赖项时,例如 _ npm install --save redux _,npm 正在删除诸如 react 和 react-native 之类的包。
我已经卸载了纱线并且问题消失了
视窗 8.1
0.47.2
反应原生cli:2.0.1
纱线 0.27.5
npm 5.3.0

我使用版本 0.46.1 并将版本更改为 0.46.0.It 有效

所以在最新的 react-native 上玩了更多之后,似乎npm --save选项把它
如果卡住了,请删除 node_modules 并使用 yarn 重做,然后继续使用yarn add而不是npm install- 节省

我不知道它是否有助于故障排除,但是在尝试按照 react-native-pdf 的安装说明进行操作时,这发生在我身上两次。 第一次尝试后我恢复了一切,第二次发生了完全相同的事情。 以下是导致这种混乱的安装步骤(不是说应该责怪 react-native-pdf 人员......只是一个因果关系):

npm install react-native-pdf --save
反应本机链接反应本机-pdf

npm install react-native-fetch-blob --save
react-native 链接 react-native-fetch-blob

我的问题是缺少依赖项,但显示了 AccessibilityInfo 错误。

我做了什么来解决这个问题:

使用--reset-cache启动 dev-server 并使用 _this_ server 进行编译。

react-native run-ios这样的命令将在没有--reset-cache情况下启动他们自己的开发服务器,但会使用已经在运行的服务器。

所以在一个外壳中:

yarn start -- --reset-cache

在另一个

yarn run ios

然后我在第一个 shell 中遇到了真正的错误, yarn add编辑了我丢失的 deps 并且一切正常。

对于那些不想使用yarn ...

不得不通过我的模块来查找没有使用reactreact-nativereact-renderer ,对它们进行分叉,并更改包版本以匹配我的项目和有用。

这也是我的情况@jnrepo ,渲染器把一切都搞砸了

我们刚刚在 48.1 上再次发生了 Accessibilityinfo 崩溃。 显然升级到 babel-preset-react-native 到 3.0.2 会导致错误。 如果我们降级到之前的版本 (2.1.0),则不会出现错误。

我能够通过安装 react-native cli 而不是使用入门页面中的 create-react-native-app 工具来解决这个问题。 从那时起,一切都顺利构建和运行。

你好。 我想我会说我唯一一次遇到这个错误是当我尝试使用这个特定的包时: https :

由于你们在跟踪这个过程中遇到了很多麻烦,而且我实际上真的很喜欢使用这个特定的包,我想我会把它扔在那里。 安装这个包不仅给了我同样的错误,而且无论我清除/重置缓存、重新启动计算机、删除 node_modules 等等,基本上这个线程中讨论的所有内容都会使我崩溃,而不仅仅是从头开始重新启动另一个 react-native 项目.

祝你好运!

PS - 我没有使用 babel
PPS - 我没有使用 react-native-router-flux

如果您使用 create-react-native-app 工具,您将始终遇到此类问题。 也推荐使用纱线我曾经有这样的问题,但现在它稳定了这是我的 RN 版本
反应原生cli:2.0.1
反应原生:0.44.1
如果遇到问题,请尝试在终端上运行命令
```rm -fr $TMPDIR/react-*
rm -rf node_modules
纱线安装

Restart your PC then continue below

cd android && ./gradlew clean && cd ../ && react-native start -- --reset-cache
react-native run-android
```
这总是对我有用

npm install [email protected]

@HilSny谢谢。 降级 babel-preset-react-native 为我做到了。
@pricetula也通过重置所有内容来工作,但我不得不再次安装 nativebase,并且在问题再次发生后不久。 感谢大家的贡献。 干杯!!

纱线添加 react-native-router-flux@+ 任何版本。
和我一起工作

[解决]
当我改变
“开发依赖”:{
"babel-jest": "21.0.2",
"babel-preset-react-native": "4.0.0",
"jest": "21.1.0",
“反应测试渲染器”:“16.0.0-alpha.12”
},

“开发依赖”:{
"jest-expo": "~20.0.0",
"react-native-scripts": "1.3.1",
“反应测试渲染器”:“16.0.0-alpha.12”
},

我刚刚重新启动了JS服务器,就是这样!

Bundling `index.android.js`  [development, non-minified, hmr disabled]  0.0% (0/1), failed.
error: bundling failed: "TransformError: D:\\***\\index.android.js:
 Cannot find module 'AccessibilityInfo'

从 0.41.2 升级到 0.48.3 后遇到了这个问题,当时我决定消除对 jest 的依赖。
在 package.json 中,我删除了:

  "scripts": {
    "test": "jest",
  },
  "devDependencies": {
    "babel-jest": "18.0.0",
    "babel-preset-react-native": "1.9.1",
    "jest": "18.1.0",
    "react-test-renderer": "15.4.2"
  },
  "jest": {
    "preset": "react-native"
  }

注意:这与使用未记录的选项相同:
react-native init AwesomeProject --skip-jest

我不得不恢复一个模块: npm install --save-dev babel-preset-react-native
我现在有:

  "devDependencies": {
    "babel-preset-react-native": "^4.0.0"
  }

我在用:
“反应”:“16.0.0-alpha.6”
“反应原生”:“0.44.2”
当我从 npm 更改为 yarn 时,它就像魅力一样。 我认为这可能与 react 或 react-native 版本无关

我认为上面的帖子已经很好地建立了这个问题,当一个模块依赖于另一个 react-native 版本而不是你的主项目时,就会出现这个问题。

我还没有测试过yarn但正如我在之前的评论中所建议的那样,完全删除那些react-native文件夹是有效的。 其他人提出了一种更痛苦的方法:fork 那些有问题的模块并更新它们的 react-native 依赖版本。

无论如何,如果它对任何人有帮助,删除react-native文件夹的方法:

第一的:
cd /path/to/yourproject

显示所有名为react-native文件夹:

find . -type d -name "react-native"

您当然不想删除node_modules/react-native文件夹。
此命令将显示任何名为react-native文件夹,除了node_modules/react-native本身:

find . -type d -name "react-native" -not -path "./node_modules/react-native" -not -path "./node_modules/react-native/*"

如果您想一步删除所有这些文件夹:

find . -type d -name "react-native" -not -path "./node_modules/react-native" -not -path "./node_modules/react-native/*" | xargs rm -rf

如果失败,请尝试yarn或从npm

@zdol我跟着你的步骤。 当我通过复制/粘贴使用最后一个命令时,它删除了我项目文件夹中的所有内容...

我正在使用 react-native 0.47.2并且我没有这个问题。

@mmarovich抱歉,我已经更新了命令

这真的对我有用:

`npm 卸载 babel-preset-react-native

npm 安装[email protected] `

反应原生版本:
反应原生cli:2.0.1
反应原生:0.48.3

我想我有同样的错误:

错误:捆绑失败:“无法从‘...react-native-implementation.js’解析模块‘ActivityIndi​​cator’”

我在此线程和网络中的其他线程中尝试了任何解决方案,但没有解决。

  • 清理缓存
  • 删除了 node_modules 文件夹
  • 使用 npm 和/或纱线

没有任何效果。
React-native 看起来很酷,但它太不稳定了。

解决了:
我遇到过同样的问题:
错误:
我有以下依赖项:
“依赖关系”:{
"firebase": "^4.4.0",
“反应”:“16.0.0-alpha.12”,
“反应原生”:“0.48.4”,
"react-native-router-flux": "^3.35.0",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0"
},

但问题是当我安装[email protected]特定版本时,它会在安装结束时给我警告:
npm WARN [email protected]需要 react@^0.13.0 || ^0.14.0 || ^15.0.0 但没有安装。 您必须自己安装对等依赖项。
npm WARN [email protected]需要

解决方案:
- 有两件事:
1)。 你可以安装我们在安装过程中得到的 decencies(npm WARN ..)
2).这就是我为解决这个问题所做的:
一世)。 移除 react-native-router-flux (npm uninstall react-native-router-flux)
ii). 安装最新版本(pm install react-native-router-flux)
三)。 和 js 文件中的少量更改。
这件事可能有帮助(不推荐但仍供参考)*


上面的代码目前正在运行)仅供参考,可能会有所帮助* https://github.com/aksonov/react-native-router-flux/issues/1081

错误解决后的依赖关系:
“依赖关系”:{
"firebase": "^4.4.0",
“反应”:“16.0.0-alpha.12”,
“反应原生”:“0.48.4”,
"react-native-router-flux": "^4.0.0-beta.21",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0"
},

这是我目前发现的,希望能帮到你:
(步骤按时间顺序)

  1. 在我运行“npm --save install react-redux”后问题开始出现
  2. 然后我删除了 node_modules 并重置了缓存,但这并没有帮助。
  3. 然后我删除了整个 repo,重新克隆了它。 问题仍然存在。
  4. 然后我将 npm 更新到最新版本,问题消失了。 (此时 react-redux 不是依赖项)
  5. 然后我再次运行“npm --save install react-redux”,问题又回来了。
  6. 然后我从依赖中删除了 react-redux,问题就消失了。

似乎 npm 和某些特定模块之间可能存在一些交互?

删除项目文件夹并重新克隆它对我有用。 一旦我重新克隆了这个项目,我就跑了

yarn cache clean
yarn start

在我安装了“done-bar”和“react-native-keyboard-done-button”软件包后,这对我来说成了一个问题

我不确定究竟是哪个问题导致了问题,但是当我从 package.json 中删除它们并运行 npm install 时,问题立即得到解决。

最近似乎有很多围绕 NPM 的问题。

我做了:

纱线缓存清洁
纱线开始

我还杀死了模拟器想要运行的端口上运行的所有内容。

那奏效了。

这可以通过在项目目录中运行react-native init后使用npm安装 react-native 来重现。 我们在js-xlsx react-native demo 中遇到了 OSX, node 8.7.0, iOS:

git clone --depth 1 https://github.com/SheetJS/js-xlsx/
cd js-xlsx/demos/react/
make ios

这将建立一个新项目并使用npm install作为 deps:

# ...
react-native init SheetJS
cd SheetJS
npm i -S xlsx react react-native react-native-table-component react-native-fs
# ...

在对新的克隆和安装进行了一些重复测试后,我们发现了以下内容:

| 版本 | 结果 |
| ------- | ------ |
| 4.3.0 | 通行证 |
| 5.0.4 | 失败 |
| 5.1.0 | 失败 |
| 5.2.0 | 失败 |
| 5.3.0 | 失败 |
| 5.4.0 | 失败 |
| 5.4.2 | 失败 |
| 5.5.0 | 失败 |
| 5.5.1 | 失败 |
| 纱! | 通行证 |

完全避免npm (用npm i -S替换yarn add )是有效的,并且可能是最好的方法。

更一般地说,4.3.0 是最后一个版本,其中npm没有任何重大问题。 我们通常在使用sudo npm install -g [email protected]类的命令切换节点版本时显式回滚。

对于任何使用 react-native-web lib 来到这里的人
通过 react-native-web/babel 的默认别名对我不起作用,我必须自己添加别名

alias: {
  'react-native': 'react-native-web',
  'react-router-native': 'react-router',
},

我在使用 react-native-cli 安装的默认版本 react-native 0.49.5 的一个非常新的项目中遇到了这个问题,我删除了我的 node_modules 目录,然后做了npm install并遇到了这个 AccessibilityInfo 错误是时候跑了。

似乎存在 peerDependency 冲突, npm install正在以错误的顺序安装某些东西。 我能够通过升级到最新版本的 react-native(截至目前 v0.50.0-rc.2)来恢复:

rm -rf node_modules
npm install [email protected] --save
npm install

我们在尝试使用带有.jsx扩展名而不是.js扩展名的文件时遇到了这个问题。 不知道为什么或者这是否是 react-native 的已知问题,但是改回.js文件解决了这个问题。 如果你正在为此拉头发,可能值得一试。

@wittjosiah谢谢你。 我读了整篇文章,结果最后一条评论(你的)是什么!

@danstepanov谢谢! 有用!

同样的问题, yarn cache clean && yarn start对我不起作用
我得到了关于这个问题的是,有时它可以通过运行固定yarn install刚过npm install 。 但它是随机发生的,我找不到任何步骤来重现此问题并最终解决该问题。

在我们的案例中,探索 $TMPDIR 并删除 haste-map-react-native-packager-* 有帮助!
删除 react-native 缓存本身或重置它不起作用。

yarn cache clean && yarn start为我做到了! 👍

在尝试了上述解决方案的 AAAAAAALL 之后(没有一个有效),我发现对我来说这个问题是由于 iOS 上的以下代码行引起的:

jsCodeLocation = [NSURL URLWithString:@"http://192.168.192.40:8081/index.bundle"];

我用它来远程调试不同网络上的设备。
当我将上述行更改为默认值时:

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@“index” fallbackResource:nil];

问题就解决了。

@SudoPlz

   #ifdef DEBUG
        jsCodeLocation = [NSURL URLWithString:@"http://XXX.XXX.X.XXX:8081/index.ios.bundle?platform=ios&dev=true"];
    #else
        //jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
        jsCodeLocation = [CodePush bundleURL];
    #endif

我在 appdelegate.m 中有类似的东西,但仍然不起作用。 有什么想法吗 ??

@karna41317我和你有完全一样的代码。 我找不到合适的修复程序,但我不关心远程调试(我的意思是远离我自己的工作站)所以我只是更改为jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@“index” fallbackResource:nil];

无论如何,你需要[NSURL URLWithString:@"http://XXX.XXX.X.XXX:8081/index.ios.bundle?platform=ios&dev=true"];做什么?

我已经尝试了所有方法,但仍然无法解决。 帮助!!!!!

"dependencies": {
    "@types/react": "^16.0.25",
    "@types/react-native": "^0.50.7",
    "@types/react-native-fetch-blob": "^0.10.4",
    "@types/react-native-video": "^2.0.0",
    "@types/react-navigation": "^1.0.23",
    "mobx": "^3.3.1",
    "mobx-react": "^4.3.3",
    "react": "16.0.0",
    "react-native": "0.50.4",
    "react-native-android-wifi": "^0.0.19",
    "react-native-audio": "^3.5.0",
    "react-native-camera": "^0.12.0",
    "react-native-fetch-blob": "^0.10.8",
    "react-native-i18n": "^2.0.8",
    "react-native-material-dropdown": "^0.5.2",
    "react-native-md5": "^1.0.0",
    "react-native-qrcode": "^0.2.6",
    "react-native-sound": "^0.10.4",
    "react-native-video": "^2.0.0",
    "react-native-volume": "^0.0.1",
    "react-navigation": "^1.0.0-beta.15"
},
"devDependencies": {
    "@types/jest": "^21.1.7",
    "@types/react-test-renderer": "^16.0.0",
    "babel-jest": "21.2.0",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-preset-react-native": "4.0.0",
    "jest": "21.2.1",
    "react-test-renderer": "16.0.0-beta.5"
},
"jest": {
    "preset": "react-native"
}

@iamcc您必须咬紧牙关,开始删除项目的每个部分,直到找到导致问题的原因。 这是唯一真正的解决方案 atm。 每个人的问题都不一样。

任何新闻? 它仍然发生在我身上react-native 0.51.0 :/

我正在使用 expo 并通过使用 expo 的 21.0.0 版本解决了它: https ://blog.expo.io/expo-sdk-21-0-0-is-now-available-be33b79921b7(在升级您的应用部分)和 npm !

@iamcc我刚刚运行 npm install react-native --save 并修复了它。

也在跑

守望者 watch-del-all

rm -rf node_modules && npm install

npm start --reset-cache

大家好,

在我的一台客户端机器上有同样的问题,但不是我自己的。

对我的解决方案:

守望者 watch-del-all

rm -rf node_modules && npm install

守望者 watch-del-all

rm -rf node_modules && npm install

守望者 watch-del-all

rm -rf node_modules && npm install

pod 缓存清理 --all

但是在您重新安装之前:

将 node 和 npm 分别安装到 7.6.0 和 4.1.2。 这是在我的机器上,而不是客户端的。 您可以使用 n 包管理器 (https://github.com/tj/n) 安装 7.6.0 和 npm install -g [email protected]进行版本更改。

然后做你正常的 npm install/pod install/clean/build dance。

对我来说,有效的解决方案是:

npm install react-native --save
npm start -- --reset-cache

希望这可以帮助

重新启动计算机对我有用。

我已经 2 周没有遇到这个问题了。 但是现在,从今天开始,它一直在复制,我什至无法在调试模式下启动我的项目! 我一直在做所有这样的事情,比如删除所有缓存(纱线、npm、cocoapods、Xcode、打包程序、守望者等)、删除 node_modules(3 或 4 次)、重新启动我的 Mac、重新启动我的设备。 没有任何作用! 你们有没有随机的事情阻止 React Native 工作? 这个问题的根本原因是什么? 你能关闭这张票吗? 我花了很多时间试图简单地运行我的项目。 这太烦人了,这个问题我什至看不到你会解决这个问题。

我尝试了这个线程中提到的所有内容。 没有任何效果。
我提交了所有内容,然后将项目克隆到一个新文件夹中,一切正常。 不要问我为什么。

当我在构建时收到Unable to resolve module './_listCacheGet'时,我刚刚安装了 lodash 包。 基于这里的许多评论,我用"react-native": "0.52.0"用纱线(我的默认安装程序)重新安装了 react-native yarn upgrade react-native ,然后重新启动构建。 应用程序按预期启动。 我认为就我而言,这似乎是一个缓存问题。 天啊。 希望这可以帮助某人。

我有同样的问题,发现进程缓存是问题所在。 重新启动反应本机进程对我有用

这很烦人。 这种情况时不时发生,没有任何明显的原因。 现在,所有已知的修复程序(删除所有内容、重新安装、清除缓存等)都没有帮助。 好的,除了重新安装 Mac 之外,我还没有尝试过的一件事是克隆项目,我会这样做。 对不起,咆哮请将其视为对这个问题的赞成,它已经发生了很长一段时间......

尝试在现有的 React Native 之上安装 React Native(不要删除现有的)

npm install react-native --save

啊好的谢谢,会试试的。 最可怕的是,这似乎是没有原因的(是的,总是有原因的,但在这种情况下很难看出是什么,这会降低人们对工具的信心)

安装在现有的 node_modules 上没有帮助。 我运行 ncu 并升级 react-native-elements 并清空 npm 缓存,重新安装等。现在问题消失了。 如果至少错误能够更多地表明问题所在,那就太好了。

清除 npm 缓存和rm -rf ~/.npm为我解决了这个问题。

这是工作!

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

而不是react-native run-android ,我使用node node_modules/react-native/local-cli/cli.js run-android并且它有效。

尝试了上述所有方法,仍然没有运气。 在我在 Expo 中构建二进制文件后,它开始发生在我身上。

我删除了我的 node_modules 文件夹

npm install
npm start -- --reset-cache

为我修好了。

在这一点上,它偶尔发生在我身上。 希望我能很快再次重现

发生这种情况是由于 react-native 使用的 eslint-preset 版本与您的应用程序使用的版本不匹配。 可能还有其他依赖项也有这种不匹配。 如果您只是简单地执行npm update (如果依赖项列表不是很大)或有选择地更新“安全更新”依赖项,然后尝试捆绑,则此错误应该消失

npm update
rm -rf node_modules
npm install --reset-cache
npm run bundle (or react-native bundle <options>)

这样做对我有用:

npm update
npm cache clean --force
rm -rf node_modules
yarn install

@patrikmolnar的建议对我

尝试在现有的 React Native 之上安装 React Native(不要删除现有的)

npm install react-native --save

切换分支后我遇到了类似的问题。 _Restarting_ 我的React Native Debugger解决了这个问题(即使我的应用程序没有连接到它)。

我遇到了同样的错误,尝试了上面提到的所有解决方案,没有任何效果:(,我现在很沮丧。请帮助我摆脱这个错误...

重新克隆该项目对我有用

我明白了,它指向 AccessibilityInfo.ios.js 中的“Promise”。

如果我yarn start失败。

如果我sudo yarn start它可靠地工作。

这是一个非常烦人的错误,它会在每个项目 atm 上刹车——即使是新的 create-react-native-app 项目,然后我将我的源代码复制到崩溃中。

编辑:对我来说,这是 react-native-communications 包和警告,我没有使用 Expo 的 react native 分支。

将 node 和 npm 分别安装到 7.6.0 和 4.1.2。

降级帮助了我。

大家好,

我已经复制了@ryanmcgrath的测试:

$> node
> let rn = require('react-native').AccessibilityInfo
Error: Cannot find module 'AccessibilityInfo'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/godefroy/Go/src/github.com/united-drivers/wulo/native/node_modules/react-native/Libraries/react-native/react-native-implementation.js:19:36)

然后,我尝试查看 react-native 对象的所有键:

$> node
> let rn = require('react-native')
undefined
> rn
{ AccessibilityInfo: [Getter],
  ActivityIndicator: [Getter],
  ART: [Getter],
  Button: [Getter],
 ...
}

所以,钥匙就在那里。

问题是 require('AccessibilityInfo') 无法访问 ./node_modules/react-native/Libraries/react-native/react-native-implementation.js 中的 module.exports

$> node --version
v9.5.0

反应原生版本:0.53.3

就我而言,此错误仅在 iOS 上引发。

感谢您发布此信息! 看来你用的可能不是2018年1月发布的最新版本React Native v0.53.0,请问这个问题在最新版本中还能重现吗?

我将关闭它,但如果您能够确认这在 v0.53.0 或更新版本中仍然存在问题,请随时打开一个新问题。

如何贡献对维护者的期望

似乎这个问题在 0.54 中重新浮出水面

sudo react-native start在 0.54 上为我修复了它

@foltz @gastonmorixe此问题已关闭。 你能提出一个引用这个问题的新问题吗?

0.52 上的相同问题,使用 npm start -- --reset-cache 对我有用

最新的 RN 使用纱线,如果我们运行 npm install ...
这种混合会导致此类问题....
清除缓存是解决方案..
机器重启是最快捷、最简单的解决方案。

npm重新安装工作!

以上都不适合我。 打开您的 $TMPDIR 并删除所有 Metro-* 目录。

这个 npm pull request 应该解决这个问题https://github.com/npm/npm/pull/20198 ,我相信这是由于这个 npm5 错误https://github.com/npm/npm/issues/16839

这让我在 0.48、0.49、0.50 和 0.54 版本中花费了几天时间。 第一次(版本 0.48-0.50)我使用 Haul Packager 解决了这个问题。 这不是一个好的解决方案,它使我失去了运行 Storybook 的能力,但我设法熬过了。 现在一个完全不同的应用程序,一个新版本的 React Native,问题又回来了。 它是完全随机的。 无法找到一致地重现它的方法。 看到平台的辉煌被一个愚蠢的工具错误玷污,这让人非常沮丧。

反应本机 0.54.0
Xcode 9.3

电脑重启有帮助

npm cache clean --force 对我有用

@ujeenator谢谢:RN 0.55.3,通过重新启动计算机修复。 清理 NPM 缓存对我不起作用。

我有一个相当非标准的构建设置,所以对此的标准响应都没有对我有用。 但是,我已经能够将问题追溯到第三方库,包括 .babelrc 文件。 一旦 bundler 遇到这些,它就无法再找到 react-native 并且失败了。 到目前为止,删除它们似乎有效。

致那些仍在苦苦挣扎的人: @fr1n63的评论为我做到了。 我之前也尝试过所有方法都无济于事。 就我而言,它抱怨在 react-native-vector-icons 的上下文中找不到 AccessibilityInfo。 根据@fr1n63的建议,我删除了 node_modules/react-native-vector-icons 中的 .babelrc,重新启动 npm --reset-cache 并通过了。 我可以重现这个; 重新引入 .babelrc 并再次卡住。 所以我想说如果没有其他方法,试一试 - 非常值得一试。

附:
"反应": "^16.3.2",
“反应原生”:“^0.54.4”,

我不得不使用npm而不是yarn

我们通常将yarn用于所有命令,但我们遇到了这个问题。

但是,当我使用npm install它工作得很好:

rm -rf node_modules/
npm install
npm start -- --reset-cache

yarn处理依赖项的方式必须与npm

"react-native": "0.47.2"

使用 react-native init 进行全新安装,并在插入 Macbook 的 Android 设备上运行该应用程序。 同样的错误。 令人难以置信的是,这个错误已经存在了多久,我看到了 2015 年的帖子。不确定它是 RN 还是 NPM 的事情:

附:

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.4"
  },
  "devDependencies": {
    "babel-jest": "22.4.4",
    "babel-preset-react-native": "4.0.0",
    "jest": "22.4.4",
    "react-test-renderer": "16.3.1"
  }

“killall -9 节点”似乎解决了这个问题。

我现在有这个问题。 尝试删除并重新安装节点包,重新启动计算机,清理缓存......似乎没有任何效果。

好的,我刚刚通过执行yarn install使用 yarn 来管理我的依赖项来解决这个问题。 我不完全确定问题到底是什么,但很可能涉及 PATH 和全局安装的软件包。

我认为解决方案实际上是重置您的开发机器,清除缓存并重新运行项目。

尝试以下任一或两个

解决方案1。
一种简单的方法是重新启动计算机。

解决方案2
删除您的节点模块文件夹,关闭运行 nodejs 服务器的终端,然后运行killall -9 node ,然后运行npm install --reset-cache ,就是这样。

希望在此之后你一切顺利。

删除 'androidappbuildgenerated' 下的所有文件夹后,它可以工作。

升级到 npm 6 并使用 yarn 安装模块后,运行打包程序会得到有用的信息:

Loading dependency graph, done.
error: bundling failed: ambiguous resolution: module `/Users/blah/node_modules/react-native/Libraries/react-native/re
act-native-implementation.js` tries to require `AccessibilityInfo`, but there are several files providing this module. You can delete or fix them:

  * `/Users/blah/node_modules/react-native-haptic-feedback/playground/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js`
  * `/Users/blah/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js`

正如您在此处看到的,我使用的库在playground目录中提供重复文件:)。

所以我认为删除它是安全的。

所以基本上对我有用的是:

  1. 删除node_modules文件夹
  2. 重新启动mac
  3. 运行yarn install来获取包
  4. 使用 --reset-cache 启动打包器
  5. npm run-androidnpm run-ios

我认为如果在某个时候修复它会很好。

反应原生:0.55.4

react-native run-ios , AccessibilityInfo存在一些问题。
如何解决这个问题? 我需要帮助。

error: bundling failed: Error: Cannot find module 'AccessibilityInfo' (While processing preset: "/Users/chen/ReactNative/ProgramKids1/node_modules/react-native/Libraries/react-native/react-native-implementation.js")
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.Module._load (internal/modules/cjs/loader.js:475:25)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at Object.get AccessibilityInfo [as AccessibilityInfo] (/Users/chen/ReactNative/ProgramKids1/node_modules/react-native/Libraries/react-native/react-native-implementation.js:17:36)
    at /Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_baseClone.js:145:23
    at arrayEach (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_arrayEach.js:15:9)
    at baseClone (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/_baseClone.js:142:3)
    at cloneDeepWith (/Users/chen/ReactNative/ProgramKids1/node_modules/lodash/cloneDeepWith.js:37:10)
 BUNDLE  [ios, dev] ./index.ios.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.

杀死打包程序并再次运行react-native run-ios对我有用。 任何时候任何改变的版本号这似乎是解决方案..

伙计们,不要把事情搞得那么复杂……重新启动打包程序帮我解决这个问题……

此问题:未找到 react-native-implimentation.js AccessibilityInfo 模块
反应原生:0.55.4
仅重新安装 node_modules 和重置缓存并不能解决此问题

重新安装 node_modules 后也运行
反应原生链接

还是没有解决这个问题?

使用 react-native init NameOfProject 后,使用 react-native: 0.56.0 出现相同错误

我不知道是否有人在我之前说过,但是从0.56.0降级到0.55.4为我解决了这个问题。 😃 @PrivateVoidMethod

最新版本 0.56.0 对我不起作用。
我降级到@jerninvien的配置,应用程序运行没有任何错误。

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.4"
  },
  "devDependencies": {
    "babel-jest": "22.4.4",
    "babel-preset-react-native": "4.0.0",
    "jest": "22.4.4",
    "react-test-renderer": "16.3.1"
  }

@LasithaPrabodha的降级对我来说只是解决方案的一半,我还必须降级 babel-preset-react-native

yarn remove babel-preset-react-native
yarn add -D [email protected]

@sideroff是的。 我也从 v5 降级到 v4。

有没有不从 0.56.0 降级的解决方案?

我尝试了@LasithaPrabodha的解决方案。 我现在陷入了一个不同的错误。

error: bundling failed: Error: While resolving module `merge`, the Haste package `merge` was found. However the module `` could not be found within the package. Indeed, none of these files exist:

  * `D:\ReactNative\ChartSample\node_modules\react-native\Libraries\vendor\core(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)`
  * `D:\ReactNative\ChartSample\node_modules\react-native\Libraries\vendor\core\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)`
    at resolveHasteName (D:\ReactNative\ChartSample\node_modules\metro-resolver\src\resolve.js:190:9)
    at Object.resolve (D:\ReactNative\ChartSample\node_modules\metro-resolver\src\resolve.js:68:20)
    at ModuleResolver.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:161:273)
    at ResolutionRequest.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:91:16)
    at DependencyGraph.resolveDependency (D:\ReactNative\ChartSample\node_modules\metro\src\node-haste\DependencyGraph.js:272:4579)
    at dependencies.map.relativePath (D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:376:19)
    at Array.map (<anonymous>)
    at resolveDependencies (D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:374:16)
    at D:\ReactNative\ChartSample\node_modules\metro\src\DeltaBundler\traverseDependencies.js:212:33
    at Generator.next (<anonymous>)

@ws7one ! 您是否尝试删除node_modules文件夹并通过键入npm installyarn重新安装?

@lucienbl是的,我也这样做了..但我仍然遇到同样的错误

这似乎不是包的版本问题。 我有完全基于这些版本构建的项目,它们似乎仍然运行良好。 不知道出了什么问题。 任何帮助表示赞赏,因为我在这一点上很卡。

回顾一下,这就是我所做的一切:
react-native init projectName
react-native run-android

-- 出现“未找到 AccessibilityInfo 模块”错误--

实施了@LasithaPrabodha的解决方案。 删除node_modules并使用npm install重新安装
react-native run-android

-- 给出“错误:解析模块merge ......”错误--

不知道我还应该尝试什么。

如果你只是将 React Native 降级到0.55.4并让 babel 等等...... @ws7one

@sideroff降级 react native 和 babel 也对我

这个问题会重新打开吗? 或者我们将停留在0.55.4 。 🤔

和这里的其他人一样。 它坏了,但是当您降级时,一切都会恢复正常。 当我降级时,我收到一条通知,指出漏洞问题。 我应该担心吗?

同样的问题在这里。 在 Windows 10 上运行并响应本机 0.56.0。 降级后解决。

将 rn 0.56 降级到 0.55 对我有用

@lucienbl我试过了..

react-native init projectName
react-native run-android

-- 出现“未找到 AccessibilityInfo 模块”错误--

npm uninstall react-native
npm install --save [email protected]
react-native run-android

这给了我一个新的错误:

error: bundling failed: Error: Plugin 0 specified in "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js" provided an invalid property of "default" (While processing preset: "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js")
    at Plugin.init (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\plugin.js:131:13)
    at Function.normalisePlugin (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:152:12)
    at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:184:30
    at Array.map (<anonymous>)
    at Function.normalisePlugins (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20)
    at OptionManager.mergeOptions (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36)
    at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:265:14
    at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:323:22
    at Array.map (<anonymous>)

如果您使用yarn install而不是npm install ,错误就会消失

@ws7one ,你需要做
react-native init ProjectName --version 0.55.4
react-native run-android

这对我有用。 :)

这确实是 0.56 版本的错误

@ws7one您是否将babel-preset-react-native降级4
我也面临这个问题,但在降级到babel-preset-react-native@4后它运行良好。

高达 0.56.1 至 0.55.4 👍

似乎这个问题主要影响在 Windows 上运行的捆绑程序。
对我来说,降级是这样工作的:

react-native init awesomeproject
npm remove --save react-native
npm i --save [email protected]

npm remove babel-preset-react-native
npm i --save [email protected]

降级到[email protected]对我

我无法修复它,使用这些建议中的任何一个,重新安装多次但仍然出现错误,我使用了 create-react-app ...

似乎56.0上的这个问题正在跟踪 #19953。

捆绑最终对我来说是成功的,但随之而来的是漏洞,建议我运行 npm install react-native @0.56.0 这将带我回到同样的问题。
另外,我收到 package.json schemastore 错误。

@ws7one你解决了这个错误吗?

error: bundling failed: Error: Plugin 0 specified in "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js" provided an invalid property of "default" (While processing preset: "D:\\ReactNative\\chartSamples\\node_modules\\babel-preset-react-native\\index.js") at Plugin.init (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\plugin.js:131:13) at Function.normalisePlugin (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:152:12) at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:184:30 at Array.map (<anonymous>) at Function.normalisePlugins (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20) at OptionManager.mergeOptions (D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36) at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:265:14 at D:\ReactNative\chartSamples\node_modules\babel-core\lib\transformation\file\options\option-manager.js:323:22 at Array.map (<anonymous>)

我不知道它是如何工作的,我一直在为它是如何工作而挠头,但我还有其他重要的工作要做,让它继续。
但这就是我所做的,

react-native init ProjectName
react-native run-android

-- 出现“未找到 AccessibilityInfo 模块”错误--

npm uninstall react-native
npm install --save [email protected]
react-native run-android

--错误:指定插件0...--

npm install --save babel-core<strong i="14">@latest</strong> babel-loader@latest

--错误:指定插件 0...---

npm uninstall --save babel-preset-react-native
npm install --save [email protected]

这开始工作正常
我当前的依赖项:

{
  "name": "chartSamples",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-preset-react-native": "^4.0.0",
    "eslint-config-rallycoding": "^3.2.0",
    "react": "16.4.1",
    "react-native": "^0.55.4",
    "react-native-highcharts": "^1.0.2"
  },
  "devDependencies": {
    "babel-jest": "23.4.0",
    "jest": "23.4.0",
    "react-test-renderer": "16.4.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

也试试@lucienbl的解决方案

react-native init ProjectName --version 0.55.4
react-native run-android

PS: @lucienbl的解决方案也对我有用

@greenais你的解决方案对我

需要有一个使用 React Native 56.0 的解决方案。 或者是 Babel 的主要问题?

React Native 0.56.0 完全被窃听,所以我建议使用 0.55.4 等待新的稳定版本:)

这似乎是0.56与依赖项相关的错误。 解决方案是找到正确的依赖组合。 我不知道你是怎么做到的。 但是, @ws7one你找到了那个组合!! 👌👌

react-native >> 0.55.4
babel-core >> latest 
babel-loader >> latest
babel-preset-react-native >> 4.0.0

否则,从 0.55.4 开始启动项目会给我 gradle 错误.....

 react-native init ProjectName --version 0.55.4

@abinax我面临同样的问题,必须改回 0.55.4

@tranquan对我来说还不够。

首先删除您的节点模块文件夹
然后
将 react 和 react-native 版本 0.56.0 更改为这些。
在尝试为最新版本的 react 和 react native 找到解决方案后,我需要降级到以下这些版本,确保您使用的是 android,使用与 package.json 中相同的依赖版本

依赖项”:{
“反应”:“16.3.1”,
“反应原生”:“0.55.4”
}

现在另一个解决方案也对我有用:

react-native init ProjectName --version 0.55.4

但您需要将 gradle 版本设置为 3.5.1 而不是 2.14.1

我认为作为结论,这是 Windows 中 react native 0.56 的一个错误。 您应该使用 0.55.4 及其最后一个支持的 gradle gradle 3.5.1。

现在我可以回到我的工作...... 😃

有没有人有完美的解决方案,然后只提供帮助

我遇到了同样的错误,我设置了新窗口,然后按照步骤操作,但每次都给我同样的错误

@sarveshcchauhan使用我最后的建议:
使用 Gradle 3.5.1 响应原生 0.55.4

谢谢@greenais !! 降级到 react-native 0.55.4 和 babel-preset-react-native 2.1.0 有效!

我已经尝试了该线程中给出的所有选项,但在我的 Windows 上没有任何效果。

我的 package.json 就是这么简单

{
  "name": "abc",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "babel-preset-react-native": "^2.1.0",
    "react": "16.4.1",
    "react-native": "^0.55.4"
  },
  "devDependencies": {
    "babel-jest": "23.4.0",
    "jest": "23.4.1",
    "react-test-renderer": "16.4.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

@skrajath你现在有什么错误? 是同样的错误吗?

使用 WSL 可能是一种解决方法。

@abinax
我通过运行“以管理员身份运行”命令又做了最后一次尝试,奇怪的是没有AccessibilityInfo 。 应用程序构建成功但遇到此错误

Unable to load script from assets 'index.android.bundle'

@skrajath这很奇怪😶😶

@abinax这很奇怪,是的。 资产文件夹缺少android/app/src/main/assets ,创建后,一切正常。 我终于看到应用程序加载干净了。

我根据@ws7one评论解决了错误。

之后我安装了 native-base 和 react-navigation.Simply 它显示空白屏幕。然后将 native-base 版本更改为 2.3.5 但 react-navigation 不起作用。

请有人发布解决方案

工作@abinax ,谢谢
@Johncy1997
我的 package.json

{
  "name": "AppName",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "moment": "^2.22.2",
    "native-base": "^2.7.2",
    "react": "16.4.1",
    "react-apollo": "^2.1.9",
    "react-native": "0.55.4",
    "react-navigation": "^2.8.0"
  },
  "devDependencies": {
    "babel-eslint": "^8.2.6",
    "babel-jest": "23.4.0",
    "babel-preset-react-native": "4.0.0",
    "eslint": "^4.19.1",
    "eslint-config-airbnb": "^17.0.0",
    "eslint-plugin-import": "^2.13.0",
    "eslint-plugin-jsx-a11y": "^6.1.1",
    "eslint-plugin-react": "^7.10.0",
    "jest": "23.4.1",
    "prettier-eslint": "^8.8.2",
    "react-test-renderer": "16.4.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

只需将 react-native 版本降级到"react-native": "0.55.4"

@Hemant-Synerzip 仅降级 React Native 版本不是解决方案😑。 你看过上面的回放吗??

这对我有用: { "name": "demo21", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "react": "16.3.1", "react-native": "0.55.4" }, "devDependencies": { "babel-jest": "22.4.1", "babel-preset-react-native": "4.0.0", "jest": "22.4.2", "react-test-renderer": "16.3.1" }, "jest": { "preset": "react-native" } }

我按照以下步骤轻松解决了这个问题,

  1. 我从另一个运行良好的package.json文件的依赖项devDependencies
{
  "name": "NameOfYourProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.4"
  },
  "devDependencies": {
    "babel-jest": "23.2.0",
    "babel-preset-react-native": "4.0.0",
    "jest": "23.2.0",
    "react-test-renderer": "16.3.1"
  },
  "jest": {
    "preset": "react-native"
  }
}
  1. 我从主项目文件夹中删除了node_modules文件夹

  2. 然后,我重新安装了节点
    npm install --save
    react-native run-android

它将降级所有必要的依赖项,包括“react-native”。 :)

我想说我通过切换到纱线解决了这个问题。 自从切换以来我没有遇到这个问题(一年前,你可以在这个线程的开头看到我的一个帖子)

即使在今天,如果我错误地使用 npm 保存了一个依赖项,它会删除一些依赖项,并且由于 X 模块不存在,项目现在将不再构建

现在如何在 react-native 0.56.0 没有解决这个问题,这个问题非常存在

我在 3 周前放弃了 Xamarin Forms 的 RN,这对我来说是最后一根稻草

我真的准备将我已经工作了几个月的项目从 RN 转移到 Flutter。 这是浪费时间。 这么无能的语言。

@williamdarkocode该语言并非无能......维护者......要么无能,要么他们真的没有给出......也许他们已经转向本地或颤振并且不再关心:)......当它出现时沟通……他们真的缺乏任何技巧

这里有人试过Vue 的 Native Script吗? 我正在考虑将我的项目转换为 Native Script - Vue,因为 React Native 抛出了我以前从未见过的各种错误。 任何建议将非常appriciated。

@拉赫德

我试图降级 react-native 并安装了 native-base 和 react-navigation 的匹配版本。它只接受 react-native 纯组件。即使它不支持 react-native-twitter-signin 包。它引发下一个错误SDK 版本。每次都会抛出不同的错误。即使我无法删除我的项目文件夹。如果我尝试删除文件夹,它会抛出“源文件名大于文件系统支持的文件名。 .”

有人发布了各种错误的准确解决方案。

0.56似乎坏了。 请改用0.55.4

这有什么进展吗? 我不知道该怎么做,因为如果我将 react-native 降级为0.55.4我会被问题 19126卡住,如果我留在0.56我无法编译,在模拟器上运行或做任何事情对问题 19126的修复对我不起作用

为什么这个issue还是关闭了? 还没有人解决,大家都在抱怨这个问题。 我们怎么解决?! 我已经失去了一天的工作......我不明白为什么它关闭了。

@PrsRares也许他们在 #19953 工作。

@gluons thx,他们没有让它工作,但至少我们现在知道他们不能在这个版本中,它将在 0.57 中修复。 谢谢。

好的。 对我有用的是有点粗糙,但我想它有效,所以为什么不呢。

不是做 react-native init,而是使用 create react app,在安装任何依赖项或传输项目目录和文件之前,npm run eject。 不要选择expo弹出方式。 完成弹出后,在您的项目 package.json 中安装所有依赖项,并且不要运行 npm audit fix,无论您看到多少对等依赖项错误。 原因是当您运行 npm 弹出时,核心依赖项的版本最适合您的项目。 完成依赖项后,只需复制和粘贴项目文件,并解决任何错误,例如“找不到文件/目录”错误。

“依赖关系”:{
“反应”:“^ 16.4.1”,
“反应原生”:“^0.55.4”
},
“开发依赖”:{
"babel-preset-react-native": "^4.0.0",
},
对我来说,即使在遵循依赖项之后,错误仍然存​​在

下面的 cmds 帮助我解决了
光盘安卓
gradle 干净
光盘..
react-native run-android

此页面是否有帮助?
0 / 5 - 0 等级