无法创建反应本机应用程序。需要输入,但 expo 处于非交互模式

Posted

技术标签:

【中文标题】无法创建反应本机应用程序。需要输入,但 expo 处于非交互模式【英文标题】:Can't create react native app. Input is required, but expo is in non-interactive mode 【发布时间】:2019-03-01 06:25:17 【问题描述】:

我刚开始学习 React Native,我一开始就卡住了。 我用npm install -g create-react-native-app 安装了本机反应,但是当我尝试用create-react-native-app 创建应用程序时它只是说:

需要输入,但 expo 处于非交互模式。必填 输入: > 选择一个模板:

【问题讨论】:

我也遇到过同样的问题,但使用 windows powershell 解决了。 正确的做法是在最后加上模板。喜欢expo init test-app --template blank 【参考方案1】:

你在使用 git bash 吗?尝试使用普通cmd创建项目

【讨论】:

由于某种原因,我使用的 Windows 上的 git bash shell 没有运行。转移到 Windows 电源外壳,一切正常 为我工作。谢谢! 那行得通。但是为什么它不能用 git bash 运行呢? 交互式菜单在 git for windows(git bash) 下不起作用 很少有人在互联网上告诉我我做了一个愚蠢的决定以及它是如何行不通的。非常感谢。【参考方案2】:

如果你使用Git Bash,你不能在'交互模式'下运行CLI,你可以使用cmd,但是如果你坚持使用Git Bash,那么你需要传递2个参数:@ 987654324@ 和 template 。所以而不是

expo init <project-name>

你实际上会通过:

expo init <project-name> --template <one-of-the-predefined-templates> --name <AppName>

例如,expo init facebook-clone --template blank --name FacebookClone

template 参数定义了项目启动的样板数量name 参数定义了应用名称(如主屏幕所示,甚至在 Expo 本身中显示)

【讨论】:

git bash 还会带来其他问题吗? expo init facebook-clone --template blank --name FacebookClone 【参考方案3】:

使用 cmd 或其他 TTY 命令行工具。不要使用 git bash - 它不是 TTY。

 expo --help
 Usage: expo [options] [command]

 Options:

   -V, --version                                   output the version number
   -o, --output [format]                           Output format. pretty (default), raw
   --non-interactive                               Fail, if an interactive prompt would be required to continue. Enabled by default if stdin is not a TTY.

在这种情况下,您可以使用上述所有命令:

 expo init my-new-project 

或者先登录expo

【讨论】:

关键是不要使用 git bash。为你加油!【参考方案4】:

您可以使用以下命令。

expo init youappfolder --template blank

希望这会有所帮助。

【讨论】:

【参考方案5】:

如果您使用的是 gitbash 而不是 cmd 或 powershell,请使用此命令:

expo init my-app --template blank --name myApp

默认情况下,expo 使用 yarn 来安装包。 如果要改用 npm,请使用以下命令:

expo init my-app --template blank --name myApp --npm

【讨论】:

【参考方案6】:

你必须确定你需要什么模板 所以你可以运行它

expo init projectName --template blank

expo init projectName --template tabs

【讨论】:

【参考方案7】:

使用 cmd 或其他 TTY 命令行工具。不要使用 git bash - 它不是 TTY。

expo --help
 Usage: expo [options] [command]

 Options:

   -V, --version                                   output the version number
   -o, --output [format]                           Output format. pretty (default), raw
   --non-interactive                               Fail, if an interactive prompt would

需要继续。如果标准输入不是 TTY,则默认启用。 在这种情况下,您可以使用上述所有命令:

expo init my-new-project 

或者先登录expo

【讨论】:

这看起来像是@A Ralkov 答案的抄本。【参考方案8】:

使用普通的CMD(Command Prompt) 而不是使用git-bash 或其他一些终端。它对我有用。

【讨论】:

建议不要使用git-bash 启动您的第一个 react-native 应用程序,建议您使用 IDE 终端,如 VScode 终端,准确地说,如果 VScode 是您的代码编辑器或任何其他一个你喜欢的。我遇到了同样的问题,但是一旦我切换到项目文件夹中的VScode terminal,它就可以工作了【参考方案9】:

您可以通过以下方式提供您的凭据(世博网站帐户凭据):

expo login -u YOUR-USERNAME-OR-EMAIL -p YOUR-PASSWORD 

如果您没有,请前往:https://expo.io/

如果您刚开始学习 React Native,并且需要在移动设备上运行 Expo 客户端,您可以通过以下方式创建应用:

react-native init ptojectName

这类项目可以在模拟器(android/ios)上运行,也可以在真机上运行。

【讨论】:

【参考方案10】:

要让它在 git bash 中工作,只需在你的 .bashrc.profile 中为 expo 命令取别名,以使用 gitbash 的 winpty,它就是为这种事情而设计的:

在您的 .profile.bashrc 中:
alias expo='winpty expo.cmd '

【讨论】:

是的,我讨厌每次你必须在 Windows 中这样做。其他提醒,别忘了重启你的 Git bash 或你正在使用的任何东西。【参考方案11】:

我在使用 gitbash 时遇到了同样的问题,就像它默认在非交互模式下你必须指定每个参数:

expo init myprojectname --template blank
其中“myprojectname”是您要提供的名称 template 是expo init 给出的开始选项blanktabsbare-minimum

【讨论】:

【参考方案12】:

问题是当您使用 Git Bash 时,我通过使用 VS-code 上的内置终端解决了它

【讨论】:

【参考方案13】:

如果您不处于交互模式,那么您可以指定模板和工作流,如下所示:

expo init demoProject --template blank --workflow managed

希望这会有所帮助。

【讨论】:

【参考方案14】:

我给你的建议:重新开始。安装 expo,然后运行:

expo init my-new-project 
cd my-new-project
expo start

详情请看这里: https://expo.io/learn

你的生活会轻松很多。然后,当你获得经验时,你可以开始玩没有它。

【讨论】:

即使全局安装expo并运行expo init my-new-project,如果在git bash中运行也会失败。虽然适用于 powershell、cmd 或任何 TTY 终端。【参考方案15】:

$ expo init --name non-interactive --template blank managed Awesome_project

【讨论】:

【参考方案16】:

我知道这是一个非常古老的问题,但我也有同样的问题 最近的问题,但我所做的只是使用我的 windows 命令提示符而不是 Gitbash。

【讨论】:

【参考方案17】:

你可以解决它

1.使用 cmd 或 PowerShell 代替 git bash

2。如果您使用 vscode 作为文本编辑器,请使用 git 作为集成终端

【讨论】:

以上是关于无法创建反应本机应用程序。需要输入,但 expo 处于非交互模式的主要内容,如果未能解决你的问题,请参考以下文章

反应本机相机无法按预期与 expo 一起工作

是否有可能在裸反应本机项目中使用expo视频?

如何将我的应用程序从 expo 弹出到裸反应本机代码

触摸在本机反应中无法在博览会网络中工作

在裸机反应本机项目中安装 expo 后,我收到此错误

ReferenceError:找不到变量:文本(我正在使用 expo 应用程序进行本机反应)