【问题标题】:how to downgrade React-Native version in EXPO app如何在 EXPO 应用程序中降级 React-Native 版本
【发布时间】:2021-08-09 20:57:01
【问题描述】:

如何在我的 expo 应用程序中降级 react-native 版本:我有这个版本:

npm view react-native version
0.64.1

我需要将其设为 62。这是我的 package.json

  "dependencies": {
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz",
}

我试过这个 npm install react-native@0.62 但还是不行

【问题讨论】:

    标签: reactjs react-native expo


    【解决方案1】:

    npm install --save react-native@0.62 ,但它不起作用

    如果您管理了 expo 应用程序,则无法更改该版本,expo 使用的是 react-native 的分支,并且每个 sdk 都对特定版本进行了硬编码。如果您只是在 package.json 中更改它并运行expo build:android/expo build:ios,它将使用该 react-native 构建 javascript 包,但本机代码仍来自旧的 react-native,这可能不兼容。

    要更改 react-native 的版本,您需要:

    • 弹出
    • 降级到较早的 expo sdk(但它会较早停止支持,所以我不建议这样做)

    【讨论】:

    • 我可以创建一个新的 expo 应用程序并在创建时选择特定版本吗?
    • 您可以创建使用旧版 expo sdk 的新应用,但您不能指定 react-native 的版本。 Expo builder 为每个 sdk 提供一个预构建应用程序,您可以控制的唯一部分是 app.json 和 javascript(您正在使用的代码和库)的内容,以及其他所有内容,例如react-native 和其他库的原生代码是固定的,每个构建在特定 sdk 上的应用程序都带有完全相同的二进制文件
    【解决方案2】:

    只需更新您要使用的软件包。然后运行以下命令:

    npm uninstall react-native
    npm install react-native
    

    它现在将安装package.json 文件中定义的包。请注意,我没有使用 --save 参数,因为我们已经在 package.json 中使用了它。

    并且根据更改,您可能需要替换一些出现较新版本代码的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-21
      相关资源
      最近更新 更多