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的主要内容,如果未能解决你的问题,请参考以下文章
React-native:发送日志时出现问题-console.error
React-native - ios - Enoent - 找不到这样的文件或目录
登录 jupyterhub 时,报告 500 : Internal Server Error