【问题标题】:How to fix npm start "cannot determine native SDK version" error?如何修复 npm start “无法确定原生 SDK 版本”错误?
【发布时间】:2020-08-05 23:23:13
【问题描述】:

我正在尝试使用 npm start 和 expo 从 ubuntu 上的 github 存储库运行我的 react 本机代码。当我运行 npm start 时,出现以下错误:

“由于未安装模块expo,无法确定您的项目使用哪个原生SDK版本。请使用yarn add expo安装它,然后重试。”

我已经尝试过“yarn add expo”,但这似乎不起作用,因为我无法让 yarn 工作并且它无法识别“add”。我也没有在这个问题上找到任何东西。有人知道发生了什么吗?

【问题讨论】:

  • 哇,简直不敢相信解决方案如此简单,我一直在寻找该死的,谢谢!如果您发布答案,我会将其标记为已解决

标签: reactjs react-native npm expo


【解决方案1】:

尝试npm install expo 而不是yard add expo

注意: yarn 是另一个包管理器,就像npm。如果您已经安装了npm,那么您可以始终将yarn add 替换为npm install

【讨论】:

  • 感谢您的想法。
  • 您能帮忙解决这个问题吗:C:\Users\amran\Documents\rn-first-app 的项目中缺少包“metro”。这通常意味着未安装react-native。请验证 package.json 中的依赖项是否包含“react-native”并运行 yarnnpm install
  • 根据第一行缺少包地铁。请检查你需要安装 Metro 依赖的 package.json
【解决方案2】:

只是想插话运行npm install 为我解决了这个问题。 (我发现问题可能是因为我的依赖项没有正确安装。)

当从远程存储库抓取项目时,它显然不会抓取 node_modules 文件夹(包含所有项目依赖项的文件夹),因为它位于 .gitignore 中。为什么它在 .gitignore 中?因为它太大了,可以在需要时轻松下载到本地机器上(通过运行npm install)。

npm install 命令将 package.json 中的所有依赖项安装到名为 node_modules 的本地文件夹中,从而确保正确安装了我的所有依赖项。这样我的项目就可以工作了。

【讨论】:

    【解决方案3】:

    我将 npm 更新到最新版本 -> npm install -g npm@latest

    卸载的expo -> npm uninstall -g expo-cli --save

    删除 .expo 文件夹,重新安装 expo,这对我有用。

    【讨论】:

      【解决方案4】:

      这可能对某些人有所帮助,因为我是 rn expo 的新手。并得到了这个错误。

      yarn install
      

      【讨论】:

        【解决方案5】:

        无法确定您的项目使用哪个原生 SDK 版本,因为未安装模块 expo。请使用yarn add expo 安装并重试。

        expo init 游戏区

        × 安装 JavaScript 依赖时出错。检查你的 npm 日志。

        安装 expo init 时遇到同样的问题。但是我注意到 javascript 依赖项安装有问题,所以我检查了 package.json :它在依赖项上有一些突出的问题:

        "dependencies": {
            "expo": "~40.0.0",
            "expo-status-bar": "~1.0.3",
            "react": "16.13.1",
            "react-dom": "16.13.1",
            "react-native": "https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz",
            "react-native-web": "~0.13.12"
        

        简单的答案是:

        npm 安装

        ** 它只会安装挂起的安装或互联网中断的 JavaScript 依赖项,将使用 package.json 文件检查或重新安装。如果 package.json 没有更新,则删除整个文件并重新启动 expo init name-of-file 同时交叉检查互联网连接**

        【讨论】:

          猜你喜欢
          • 2020-07-21
          • 1970-01-01
          • 2020-08-19
          • 2021-11-11
          • 2023-04-06
          • 1970-01-01
          • 2017-09-28
          • 2021-11-26
          • 2019-07-14
          相关资源
          最近更新 更多