最近再用react native做项目,其中用到了expo,在使用expo build:ios打包生成ipa文件的时候,会提示我们输入苹果开发者账号和密码,如下:
? Apple ID: myAppleId@apple.com
? Password (for myAppleId@apple.com): [hidden]
而当我们输入了账号和密码后,会提示:
Authenticating to Apple Developer Portal…
Authentication with Apple Developer Portal failed!
spawn bash ENOENT
Error: spawn bash ENOENT
一开始以为是密码输入错误,查了国内外好多网站,发现也有很多人碰到了这个问题,但是大家都不知道怎么解决。
于是去阅读了expo官方文档,果然,在文档中发现了答案,文档中有一段内容如下:
Windows users must have WSL enabled. You can follow the installation guide here. We recommend picking Ubuntu from the Windows Store. Be sure to launch Ubuntu at least once. After that, use an Admin powershell to run: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
大致意思就是说,Windows用户打包生成app的时候,系统里必须要有WSL这个东西,并且安装后要至少启动过一次,那WSL是什么呢,它的全称是Windows Subsystem for Linux,也就是在Windows平台之上提供的Linux子系统,安装WSL之后,就可以在我们的Windows上直接运行Linux系统了,安装链接如下:https://docs.microsoft.com/en-us/windows/wsl/install-win10
安装之后,错误完美解决!