react-native 启动报告:Error: UNKNOWN: unknown error, open ...\.babel.json

Posted

技术标签:

【中文标题】react-native 启动报告:Error: UNKNOWN: unknown error, open ...\\.babel.json【英文标题】:react-native start report: Error: UNKNOWN: unknown error, open ...\.babel.jsonreact-native 启动报告:Error: UNKNOWN: unknown error, open ...\.babel.json 【发布时间】:2017-05-10 14:27:17 【问题描述】:

我在 Windows 7 上有一个 RN 开发环境。它工作正常,直到昨天它在我运行“react-native”启动后突然报告错误。 错误信息:

[2016-12-26 09:58:17]         HMR Server listening on /hot

React packager ready.

fs.js:557
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
    at Object.fs.openSync (fs.js:557:18)
    at Object.fs.writeFileSync (fs.js:1222:33)
    at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
fs.js:557
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
    at Object.fs.openSync (fs.js:557:18)
    at Object.fs.writeFileSync (fs.js:1222:33)
    at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
fs.js:557
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
    at Object.fs.openSync (fs.js:557:18)
    at Object.fs.writeFileSync (fs.js:1222:33)
    at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

我用谷歌搜索错误,没有运气。 我删除了.babel.json,错误仍然出现。 我重新启动了一个新项目,还是一样。我卸载了 node.js 和 python,然后按照 RN 主页上的“入门”再次安装它们,仍然一样。 我安装了react-native-cli 2.0.1和1.3.0,还是一样。

看起来即使出现错误,RN 项目也能正常工作。但你永远不知道错误何时会伤害我的项目。

【问题讨论】:

您找到解决方案了吗?我也有同样的问题 【参考方案1】:

我也遇到了这个问题,并尽可能地对其进行了调试。错误是由某些竞争条件引起的:

在构建过程中,babel-register 将缓存写入~/.babel.json,在每个滴答声中 由于写入是同步的,因此在单个节点线程中不会出现竞争条件 由于节点在设计上是单线程的,这一定是由于 Java 中的一些并行执行,触发了多个并行节点线程

我不知道为什么这不会发生在每个人身上,或者为什么这只是在使用 react native 一段时间后才会发生......

这需要在 React Native 中修复,可能与 babel-register 协调...我也会将此发布到 the related GitHub issue。

【讨论】:

另见:App crash with "Unknown" error【参考方案2】:

尝试删除 .babel.json,生成一个新的并授予对该文件的读取权限。

您在 C:\Users\Me 中有一个无效的 babel.json 文件。修复它或 删除它。这不是由 React Native 创建的,也不需要 除非你想为每个项目设置一些全局 babel 设置 你的机器。

https://github.com/facebook/react-native/issues/11803

    删除.babel.json react-native run-android(重新生成.babel.json) 在 Windows 资源管理器(不是 IE)中打开 C:\Users\yourUserName\ 右键单击.babel.json > 属性 安全选项卡 > 高级 > 更改权限... > 添加... 输入要选择的对象名称,输入Everyone,点击确定 权限窗口,勾选“允许完全控制”,点击确定 点击确定 react-native run-android(现在可以使用)

【讨论】:

【参考方案3】:

我的 node.js 的版本是 7.5.0。

我昨天更新到7.10.0,问题解决了。

【讨论】:

【参考方案4】:

这对我有用:

react-native start --reset-cache

【讨论】:

【参考方案5】:

在 git bush 中试试这一行

chmod 777 .babel.json

问题可能是这个文件是只读的。

【讨论】:

我照你说的做了。还是一样。 我前几天遇到这个问题,通过这种方式解决了,很抱歉它对你不起作用。如果我找到正确的原因,我会提交给你。【参考方案6】:

删除手机上旧版本的应用,然后试试这个:

react-native start --reset-cache


npx react-native run-android

【讨论】:

以上是关于react-native 启动报告:Error: UNKNOWN: unknown error, open ...\.babel.json的主要内容,如果未能解决你的问题,请参考以下文章

在启动画面上反应原生应用程序 firebase 崩溃报告

React-native:发送日志时出现问题-console.error

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

登录 jupyterhub 时,报告 500 : Internal Server Error

react-native start error Invalid regular expression:

未计算文件的 React-Native Bundle Error 错误 SHA-1