【发布时间】:2020-08-02 08:30:46
【问题描述】:
几周前我使用 Expo 启动了这个 React Native 项目,直到昨天一切都很好。
当我运行expo start 时,我像往常一样得到了 Metro Bundler,然后我单击“在 Web 浏览器中运行”,像往常一样,VS Code 终端提示我输入 localhost 证书的密码。我不知道它是什么,但有一些本地 SSL 签名工具有 this link,我也不知道。即使有这个链接,我也不确定我应该输入什么密码,所以我只是按了 Enter,没有输入任何内容,这就是我现在所处的位置。
我不能再在浏览器中运行我的应用程序了。每当我尝试这样做时,我都会得到:
而且日志只有这个:
PS D:\Projects\GroceryApp\GroceryApp.Web> 展会开始
在 D:\Projects\GroceryApp\GroceryApp.Web 开始项目
Expo DevTools 在http://localhost:19003 运行
在浏览器中打开 DevTools...(按 shift-d 禁用)
确保已创建自动 SSL 证书(您可能需要使用 sudo 重新运行)
在端口 19001 上启动 Metro Bundler。
此环境不支持调试监视模式
调试检查更新版本的 React Native
调试当前版本:0.61.4
debug 未找到发布缓存
debug 未找到发布缓存
在 GitHub 上调试检查新版本
debug 未找到发布缓存
调试将“6d6386b01438c6ef0acd213d304b5839”保存到缓存
debug 未找到发布缓存
debug 未找到发布缓存
调试最新版本:0.60.0
隧道准备就绪。
exp://192.168.0.108:19000
二维码
要使用实时重新加载运行应用,请选择以下之一:
• 在 Android 或 iOS 上的 Expo 客户端中以 @redacted 身份登录。您的项目将自动出现在“项目”标签中。
• 使用 Expo 应用程序 (Android) 或相机应用程序 (iOS) 扫描上面的二维码。
• 对于 Android 模拟器,按 a,或在 web 上运行 w。
• 按 e 以通过电子邮件将链接发送到您的手机。
世博会?显示所有可用命令的列表。
您的项目的日志将显示在下方。按 Ctrl+C 退出。
所以,我尝试按W 强制它,然后我得到了这个:
正在尝试在网络浏览器中打开项目...
(node:15116) UnhandledPromiseRejectionWarning: 错误:证书“D:\Projects\GroceryApp\GroceryApp.Web.expo\web\development\ssl\cert-localhost.pem”无效。
错误:2007E073:BIO 例程:BIO_new_mem_buf:null 参数 在 validateKeyAndCerts (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:26:11) 在 getHttpsConfig (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:62:5) 在 createDevServer (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:191:12) 在 Object.withDevServer (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:101:31) 在对象。 (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\webpack.config.ts:419:21) 在 Generator.next () 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:8:71
在新的承诺 () 在 __awaiter (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:4:12) 在 Object.default_1 [默认] (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:87:12) 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\index.ts:21:71 在 Generator.next () 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:8:71 在新的承诺 () 在 __awaiter (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:4:12)
在 createWebpackConfigAsync (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:26:12)(node:15116) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志
--unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:6)(node:15116) [DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
这是有道理的,因为该文件完全是空的。
抱歉,帖子太长了,我想确保所有日志都在这里。
请帮忙。提前致谢。
【问题讨论】:
-
我也没有被提示输入密码,我很确定我应该输入我的 windows 密码,但我不知道如何更改它。
-
我刚开始使用 Expo,但我遇到了同样的症状。在“接受此 CA 证书?”之后,我得到了正确的工作一次。消息。然后我开始收到这些错误。我注意到 cacert-local.pem 文件是 0 字节。
-
这里也一样。清空 locahost 证书文件,如果你删除它,它只是生成备份,再次清空。我有点失去希望让它在 localhost 上与 https 一起工作(尤其是在此处和官方论坛(forums.expo.io/t/…)上令人惊讶地缺乏答案之后。如果它对您有帮助,您可以在没有 SSL 的情况下使用
expo start --no-https运行它。那就是我一直在使用的。 -
哦,伙计,谢谢。这将帮助我开始。我希望他们能在我掉进兔子洞太远之前修好它。 (这并不妨碍我做下一件事,即尝试使用放大进行登录。)我感觉有人在某处升级了某些东西,然后断开连接。
-
expo有新版本(3.19.2),稍微好一点。我收到错误消息:“›无法为 HTTPS 自签名 SSL 证书。退回到不安全的 https。您可以使用
--no-https重新运行以禁用 HTTPS,或删除.expo文件夹并重试。”删除 .expo 没有帮助,但如果我接受它的伪造证书,我认为它可以工作。
标签: node.js react-native ssl expo