react-native start report:错误:UNKNOWN:未知错误,打开... \。babel.json

时间:2016-12-26 02:17:59

标签: react-native react-native-android

我在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项目即使出现错误也能正常工作。但你永远不知道错误何时会影响我的项目。

5 个答案:

答案 0 :(得分:1)

我也遇到过这种情况,并尽可能地调试它。错误来自一些竞争条件:

  • 在构建期间,babel-register将缓存写入~/.babel.json,每次打勾
  • 由于写入是同步的,因此单个节点线程中不会出现竞争条件
  • 由于节点是单线程设计,这必须考虑到Java中的一些并行执行,触发几个并行节点线程

我不知道为什么这并不会发生在每个人身上,或者为什么这只会在使用本地反应一段时间之后才会发生......

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

答案 1 :(得分:1)

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

  

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

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

  1. 删除.babel.json
  2. react-native run-android(重新生成.babel.json)
  3. 在Windows资源管理器(不是IE)中打开C:\ Users \ yourUserName \
  4. 右键单击.babel.json>特性
  5. 安全标签>高级>更改权限...>添加...
  6. 输入要选择的对象名称,键入Everyone,然后单击确定
  7. 权限窗口,勾选“允许完全控制”,单击“确定”
  8. 点击确定
  9. react-native run-android(现在正常工作)

答案 2 :(得分:1)

我的node.js的版本是7.5.0。

我昨天将其更新为7.10.0,问题解决了。

答案 3 :(得分:0)

在git bush中尝试这一行

chmod 777 .babel.json

问题可能是此文件是只读的。

答案 4 :(得分:0)

这对我有用:

react-native start --reset-cache