在 Windows 10 上写 Swift
ApolloZhu
2017年09月23日 04:08
收录于文集
共10篇

我还以为 Swift 只能编 iOS 程序呢?

这个应该是几个月前的旧闻了,但还是拉出来说一下。Swift 对 Windows 和 Android 的支持还在路上,暂时只适合高端玩家。不过今天提到的 WSL,Windows Subsystem for Linux,其实是微软把 Ubuntu 搬到 Windows 上了。

TL;DR(概括)

正如封面所示,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