升级后的未知命名模块将原生0.37反应为0.39

时间:2017-01-04 12:43:40

标签: react-native react-native-android

我尝试通过以下方式升级我的react-native版本(升级后的反应模块和react-native)

https://facebook.github.io/react-native/docs/upgrading.html

运行react-native upgrade后,我添加了AndroidManifest.xml,MainActivity.java,MainApplication.java,String.xml

中的更改

我已经成功构建并运行了应用程序。但是当资产加载并且应用程序在我的设备上启动时,我会收到错误。

  

未知的命名模块:'react / lib / createReactNativeComponentClass'

我在Chrome浏览器上看到了这个

  

模块AppRegistry不是注册的可调用模块(调用runApplication)

我试图搜索这个问题,但我找不到任何可以帮助我的东西。我唯一没有尝试的是从干净的安装开始,看看是否有助于我(但我想尽可能避免这种情况)。

还有我的package.json

{
  "name": "MyProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "^15.4.1",
    "react-native": "^0.39.2",
    "react-native-action-bar": "^1.0.8",
    "react-native-background-timer": "^0.1.3",
    "react-native-drawer": "^2.3.0",
    "react-native-fcm": "^2.3.2",
    "react-native-gifted-spinner": "^0.1.0",
    "react-native-infinite-scroll-view": "^0.4.2",
    "react-native-linear-gradient": "^1.5.15",
    "react-native-maps": "^0.12.2",
    "react-native-pathjs-charts": "0.0.21",
    "react-native-radio-buttons": "^0.13.0",
    "react-native-scrollable-mixin": "^1.0.1",
    "react-native-scrollable-tab-view": "^0.7.0",
    "react-native-swipe-list-view": "^0.3.1",
    "react-native-swiper": "^1.5.3",
    "react-native-vector-icons": "^3.0.0"
  },
  "jest": {
    "preset": "jest-react-native"
  },
  "devDependencies": {
    "babel-jest": "17.0.0",
    "babel-preset-react-native": "1.9.0",
    "jest": "17.0.0",
    "jest-react-native": "17.0.0",
    "react-test-renderer": "15.3.2"
  }
}

在版本0.37中,一切正常。但我需要一个更新,因为我看到我发现有用的更改日志中的一些修复。所以我试着更新但没有成功。

1 个答案:

答案 0 :(得分:0)

Vkrm通过此链接为我提供了一个很好的方向

stackoverflow.com/a/40737409/3666700

  

15.3和15.4之间的一个变化是react / lib下的许多模块被移动到react-dom / lib,

考虑到这一点,我试图降级反应到15.3并且它起作用了。但是第三方组件出现了一些错误,而本机0.39最好用15.4(但是15.3可能会得到警告)。

我去搜索更多并找到了这个帖子 stackoverflow.com/a/41352829/1393695

  

删除node_modules文件夹并再次运行“npm install”(如果您希望此步骤更快,则使用yarn)。确保package.json指定了您期望的最新版本的React Native。

之后我再次备份我的项目并清空node_modules文件夹并运行npm install,之后它与15.4一起运行良好。但是第三方组件出错(我改变了)。

因此它可以双向工作,但可能会导致第三方组件出现错误。