我正在尝试集成最新的React Native构建,但我遇到了错误。这是我的项目设置:
在app的build.gradle中,我导入react-native 0.24.1:
dependencies {
...
compile 'com.facebook.react:react-native:0.24.1'
}
项目的build.gradle指向Git子模块中的React Native:
allprojects {
repositories {
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$projectDir/../MyGitSubmodule/AwesomeProject/node_modules/react-native/android"
}
}
}
我按照文档here中的说明进行了整合,并按照文档here中的说明在git子模块中升级了RN。我已将我的堆栈跟踪上传到此pastebin link。要总结堆栈跟踪,因为格式化难以阅读,这些是亮点:
答案 0 :(得分:0)
基本上,它抱怨模块ReactPerf
是必需的,但它并不存在。
仅供参考,ReactPerf
模块:https://www.npmjs.com/package/react-addons-perf。
逻辑上,我们只需要告诉react-native安装这个东西。
棘手的部分是,如果我们这样做:
npm install react-addons-perf
,然后我们正在安装它"外面" react-native
依赖关系。因此,它会抱怨react-addons-perf
也需要react
个包。
解决方案是我们需要声明这种依赖"内部"反应原生包。换句话说:
打开node_modules/react-native/package.json
。你会发现
...
"dependencies": {
"absolute-path": "^0.0.0",
"art": "^0.10.0",
"babel-core": "~6.4.5",
"babel-plugin-external-helpers": "~6.4.0",
...
"react": "^0.14.5"
...
}
因此,我们需要做的只是将react-addons-perf
添加到那些。
...
"dependencies": {
"absolute-path": "^0.0.0",
"art": "^0.10.0",
"babel-core": "~6.4.5",
"babel-plugin-external-helpers": "~6.4.0",
...
"react": "^0.14.5",
"react-addons-perf": "^0.14.5", // ADD THIS LINE FOR ReactPerf module
...
}
然后,npm install
。
根据我的经验,Requiring module "8"
等其他错误也将消失。
它对我有用,并且希望它也适合你。