2016-12-26 245 views
4

我在Windows 7上有一个RN开发环境。它运行良好,直到昨天它突然报告错误,本机“开始。 错误消息:react-native启动报告:错误:UNKNOWN:未知错误,打开... 。babel.json

[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,错误stiil出来。 我重新开始一个新项目,依然如此。我卸载node.js和python,然后再次安装它们,请按照RN主页上的“入门”进行操作,仍然一样。 我安装react-native-cli 2.0.1和1.3.0,仍然是一样的。

即使出现错误,RN项目似乎仍然有效。但你永远不知道错误何时会伤害我的项目。

+0

你有没有找到解决方案?我有同样的问题 – jasan

回答

1

我的node.js的版本是7.5.0。

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

0

尝试此行的git布什

chmod 777 .babel.json 

的问题,也许,这个文件是只读的。

+0

我做了你所说的。还是一样。 – tennist

+0

我前几天遇到这个问题,并通过这种方式解决它,所以我很抱歉它不适合你。如果我找到正确的理由,我会承诺给你。 – Nodemirai

1

我也碰到过这个,并且尽可能地调试它。从一些竞争条件出现的错误:

    期间建成
  • babel-register写入缓存来~/.babel.json,每个刻度
  • 因为写是同步的,比赛条件不能单一节点线程中出现
  • 因为节点是由设计单线程的,这必须是在考虑一些Java中的并行执行,触发多个并行节点线程

我不知道为什么这不会发生大家为什么这只发生后,使用反应原生一段时间...

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

1

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

You have a babel.json file at C:\Users\Me that is invalid. Fix that or remove that. This was not created by React Native and is not needed unless you want to set some global babel settings for every project on your machine.

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

  1. 删除.babel.json
  2. 反应天然运行机器人(重新生成.babel.json)
  3. 开放C:\用户\ yourUserName \ Windows中浏览器(不是IE)
  4. 右键单击.babel.json>属性
  5. 安全选项卡>高级>更改权限...>添加...
  6. 输入对象名称来选择,键入Everyone,单击确定
  7. 权限窗口,勾选 “允许完全控制”,单击OK
  8. 单击确定
  9. 反应本地运行的Android(现在工作)