如何在 React Native 应用程序初始化期间防止与节点相关的错误
Posted
技术标签:
【中文标题】如何在 React Native 应用程序初始化期间防止与节点相关的错误【英文标题】:How to prevent node related errors during initialize of a React Native app 【发布时间】:2015-07-17 17:13:26 【问题描述】:我通过 brew 删除了我的节点安装,并按照React getting started page 上的步骤安装 iojs。在我也通过 brew 更新 npm 之前。 React Native 安装正确,但一旦我尝试通过
启动应用程序react-native init my_app
我得到以下跟踪:
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: 404 response dowloading http://nodejs.org/dist/v2.3.4/node-v2.3.4.tar.gz
gyp ERR! stack at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:251:14)
gyp ERR! stack at emitOne (events.js:82:20)
gyp ERR! stack at Request.emit (events.js:169:7)
gyp ERR! stack at Request.onRequestResponse (/usr/local/lib/node_modules/npm/node_modules/request/request.js:985:10)
gyp ERR! stack at emitOne (events.js:77:13)
gyp ERR! stack at ClientRequest.emit (events.js:169:7)
gyp ERR! stack at HTTPParser.parserOnIncomingClient (_http_client.js:415:21)
gyp ERR! stack at HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)
gyp ERR! stack at Socket.socketOnData (_http_client.js:305:20)
gyp ERR! stack at emitOne (events.js:77:13)
gyp ERR! System Darwin 14.3.0
gyp ERR! command "/usr/local/Cellar/iojs/2.3.4/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jason/projects/dos/node_modules/react-native/node_modules/babel/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v2.3.4
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
重新安装node-gyp
并不能解决问题。
我做错了什么?
【问题讨论】:
【参考方案1】:这是 io.js 和 node-gyp 的问题。在您的日志中查看此行:
Error: 404 response dowloading http://nodejs.org/dist/v2.3.4/node-v2.3.4.tar.gz
node-gyp 尝试从 node.js 站点下载 v2.3.4 发行版,但它显然不存在,因为它是 io.js。为了解决这个问题, io.js 发布了补丁 npm。不幸的是,如果您通过npm install -g npm
更新 npm,它将再次被破坏。
您可以尝试npm uninstall -g npm
,但它似乎只是完全清除了 npm,因此您必须重新安装 io.js。
【讨论】:
感谢您的回答。这绝对是问题所在。不幸的是,在卸载 node010、iojs 和 npm 并仅重新安装 iojs 时,没有可用的 npm。这就是为什么我再次通过 brew 安装它。我猜可能是当前 iojs 版本的问题。无论如何,我切换到 node010 并反应原生 0.8.0-rc 无论如何都可以工作以上是关于如何在 React Native 应用程序初始化期间防止与节点相关的错误的主要内容,如果未能解决你的问题,请参考以下文章
React Native只需重新初始化iOS或Android Project