
我还以为 Swift 只能编 iOS 程序呢?
这个应该是几个月前的旧闻了,但还是拉出来说一下。Swift 对 Windows 和 Android 的支持还在路上,暂时只适合高端玩家。不过今天提到的 WSL,Windows Subsystem for Linux,其实是微软把 Ubuntu 搬到 Windows 上了。
正如封面所示,Swift (compiler only, REPL unavailble) on Bash on Ubuntu on Windows 10,也就是我们在 Windows 10 上安装 Ubuntu,然后用 bash 安装 Swift 编译器。不过可惜的是不支持 Swift 的交互式解释器。
64 位 Windows 10,版本 1607 及以上(可以在 设置 > 系统 > 关于 中查看)
1. 启用适用于 Linux 的 Windows 子系统
以管理员身份运行 Powershell,输入以下内容。完成后按 Y 重启电脑。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
或者可以在 控制面板 > 程序 > 启用或关闭 Windows 功能 中,勾选“适用于 Linux 的 Windows 子系统(Beta)”,然后点确定。根据提示重启。
2. 启用开发人员模式
以管理员身份运行 Powershell,输入以下内容:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
或者可以在 设置 > 更新和安全 > 针对开发人员 中,选择 “开发人员模式”
3. 安装 Ubuntu
(建议用 非 管理员模式)运行 Powershell,输入以下内容:
lxrun /install /y
以上方法是懒人配置,如果想自定义,请输入 bash,然后根据提示配置。
完成安装之后,输入 bash 进入 Ubuntu 系统。
4. 安装 Swift
为了简化步骤,借鉴了喵神借鉴 Vapor 来的代码,稍微修改后做了个自动安装的脚本。输入:
eval "$(curl -sL https://raw.githubusercontent.com/ApolloZhu/script/master/swift/install/4)"
看到“✅ Done”,下一行写着 Swift 版本号的话,那就大功告成了!
你说不支持 REPL,那 Swift 还有什么意思?Emmm... 可以写好了程序一起编译啊 ;)
怎么才能写程序?因为 Ubuntu 是 Windows 的子系统,所以文件是两边都可以访问的。也就是你可以在 Windows 上把程序写好了,再在 Ubuntu 里运行。
你非要在 Ubuntu 上写,却还要问我用什么编辑器?不和你们争 Vim 还是 Emacs,我还是看心情用 nano 或 pico 就好了。
玩腻了要卸载 Ubuntu?执行命令 lxrun /uninstall /full /y
WSL 安装:https://msdn.microsoft.com/en-gb/commandline/wsl/install_guide
不支持 Swift 交互式解释器:https://github.com/Microsoft/BashOnWindows/issues/688