React-native - ios - Enoent - 找不到这样的文件或目录

Posted

技术标签:

【中文标题】React-native - ios - Enoent - 找不到这样的文件或目录【英文标题】:React-native - ios - Enoent - No such file or directory found 【发布时间】:2017-03-20 22:34:18 【问题描述】:

我正在为 ios 构建一个 react-native 应用。尝试构建时,xcode 没有报告错误并且模拟器启动。应用程序开始加载,我收到一个红色错误屏幕,日志中包含以下信息:

2017-03-20 19:22:40.523325 [APPNAME][69099:5420843] [] nw_host_stats_add_src recv 太小,收到 24,预期 28 2017-03-20 19:22:40.541 [致命][tid:main] TransformError: /Users/[NAME]/[COMPANY]/dev/[APPNAME]/node_modules/react-native-scrollable-tab-view/index.js: ENOENT:没有这样的文件或目录,打开 '/Users/[NAME]/[COMPANY]/dev/[APPNAME]/node_modules/react-native-scrollable-tab-view/package.json' 2017-03-20 19:22:40.549905 [APPNAME][69099:5420846] [] nw_host_stats_add_src recv 太小,收到 24,预期 28

已尝试以下解决方法:

rm -rf node_modules
rm -fr $TMPDIR/react-*
rm -fr $TMPDIR/npm*
watchman watch-del-all
rm -rf * (in /users/name/developer/xcode/deriveddata/
npm install
react-native upgrade

还要重新安装react-native、react-native-cli

还将节点更新到最新版本

还重新安装了xcode

【问题讨论】:

你试过在终端关闭打包器并重新运行吗? 你使用的是什么版本的 Xcode?​​span> 8.2.1 (8C1002),虽然在清除打包程序缓存和在 npm 中重新安装依赖项方面获得了一些动力...遇到了另一个问题,但将在 Matt Aft 关于打包程序的评论中发布它。 这让我走上了一条好路。谢谢马特。关闭打包程序并重新运行并没有这样做,但是清除打包程序缓存显示了依赖项之间的很多冲突。修复这些,清除缓存,重新安装 node_modules,清除 ~/library/developer/xcode/deriveddata 和 /var/folders inhale 中的 xcode 缓存解决了当前的问题.. 但现在我有另一个问题'将张贴在另一张票。再次感谢马特! 【参考方案1】:

用户 Matt Aft 向我指出了正确的方向,并提出了有关打包程序的问题。这是对他的评论的评论中的解决方案(适用于任何遇到此问题并需要解决方案的人):

这让我走上了一条好路。谢谢马特。关闭打包程序并重新运行并没有这样做,但是清除打包程序缓存显示依赖项之间存在很多冲突。修复这些,清除缓存,重新安装 node_modules,清除 ~/library/developer/xcode/deriveddata 和 /var/folders inhale 中的 xcode 缓存解决了当前的问题.. 但现在我有另一个问题将在另一张票中发布。再次感谢马特! ——

【讨论】:

如何完全按照 Matt Aft 的建议关闭终端中的打包程序?【参考方案2】:

应用程序需要一个文件

/Users/[NAME]/[COMPANY]/dev/[APPNAME]/node_modules/react-native-scrollable-tab-view/index.js

但该文件不存在(这就是 ENOENT 的意思)。因此,您要么必须创建预期的目录结构,要么配置您的应用程序,使其在正确的目录中查找。

【讨论】:

以上是关于React-native - ios - Enoent - 找不到这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

React-native:如何从 Windows 构建 ios

React-Native入门指导之iOS篇 —— 一准备工作

react-native android/ios 手动/自动 修改版本号

如何在 react-native 中重置 IOS 文件夹

使用 react-native 创建本地推送通知 - IOS

为啥我不能在 ios 设备上关闭并重新打开 react-native 调试?