如何修复 npm start “无法确定原生 SDK 版本”错误?

Posted

技术标签:

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

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

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

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

【问题讨论】:

哇,简直不敢相信解决方案如此简单,我一直在寻找该死的,谢谢!如果您发布答案,我会将其标记为已解决 【参考方案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 同时交叉检查互联网连接**

【讨论】:

以上是关于如何修复 npm start “无法确定原生 SDK 版本”错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 npm ERR!缺少脚本:从反应开始

如何使用 npm-start 解决 react webpack 问题

npm start 但看到错误

npm start 问题(错误:spawn cmd ENOENT)

如何修复 npm 审计修复问题?

如何修复 npm 审计报告