最近打算试一下用 opencode ,看看这类CLI应用使用体验如何。不过我的电脑是 Windows,而 opencode 在 Linux 环境下用起来更顺手,于是决定在 Windows 上装个 WSL(Windows Subsystem for Linux),把项目搬进去用 opencode。记录一下整个过程,也给同样在 Windows 上挣扎的开发者们一点参考。
为什么选 WSL?
以前我都是直接在 Windows 上搞开发,但很多工具链、脚本在 Linux 下更原生,尤其是涉及到服务器部署、Docker 之类的场景。虚拟机太重,双系统又麻烦,WSL2 是个不错的折中方案——既能在 Windows 上用熟悉的软件,又能享受 Linux 的命令行环境。
安装 WSL2
微软官方文档已经写得很详细了,但实际走一遍还是会踩几个坑。
- 启用 WSL 功能
用管理员权限打开 PowerShell,运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启电脑。
- 安装 Linux 发行版
重启完成后可以运行以下代码来看目前有哪些版本可以使用# 查看所有已安装的 WSL 发行版及其状态 wsl --list --online - 升级到 WSL2
在 PowerShell 里执行:wsl --set-default-version 2Windows11自带即为WSL2,不需要手动更新 -
再次重启
确保设置生效 -
转移到其他盘
众所周知呢,Windows默认安装总是安装到C盘下,这也导致了我们C盘的空间异常紧张,那么此时此刻,就需要我们把Linux系统转移到其他盘下- 先导出Linux系统为
.tar文件wsl --export Ubuntu-22.04 D:\WSL\Ubuntu-22.04\Ubuntu-22.04.tar - 接下来把原有的Linux注销了
wsl --unregister Ubuntu-22.04 - 解压
.tar文件wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\WSL\Ubuntu-22.04\Ubuntu-22.04.tar --version 2 - 启动Ubuntu
wsl -d Ubuntu-22.04启动完成后需要你输入用户名,自己想一个填进去就好了
- 先导出Linux系统为
配置开发环境
WSL 装好后,第一件事是换源、装常用工具。
# 备份原来的源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 换成阿里云源(国内快很多)
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
# 装基础工具
sudo apt install -y git curl wget zsh build-essential
然后配置 Git、SSH 密钥,把本地的项目拷贝到 WSL 里,如果是在GitHub或者Gitee上的项目再在WSL中mkdir新建一下项目目录,再到里面克隆一下仓库即可
安装 opencode
opencode 的安装只能说是及其方便了,只需要在WSL中输入curl -fsSL https://opencode.ai/install | bash即可
安装完成后,运行 opencode 可直接启动。
第一次使用 opencode
在项目目录下直接跑 opencode,它会启动一个交互式会话。我试着让它帮我修改“关于”页面的样式,效果还不错(此时用的是免费的模型,忘记叫什么了)。
遇到的坑与解决
-
文件权限问题
Windows 和 WSL 的文件系统权限不互通,从 Windows 拷贝过来的文件权限可能不对,导致脚本无法执行。用chmod +x script.sh修复即可。 -
网络问题
WSL2 的网络和 Windows 主机是分开的,有时候代理配置需要手动同步。在~/.bashrc里加上:export http_proxy=http://127.0.0.1:7890 export https_proxy=http://127.0.0.1:7890http://127.0.0.1:7890前面是WSL在Windows上的ip,后面是代理的端口
总结
如果你也在用 Windows 开发,不妨试试 WSL + opencode 这个组合。
一点小建议:
- 尽量把代码放在 WSL 分区,避免跨文件系统性能损失。
- 定期备份 WSL 系统(
wsl --export),免得玩坏了重装。 - opencode 虽然智能,但生成的代码还是要自己 review,别完全依赖它。
接下来我打算用 opencode 继续优化这个博客的其他页面,比如文章列表、首页布局。有机会再和大家分享更多使用心得。
本文写于 WSL2 + Ubuntu 22.04 环境,opencode 版本为最新稳定版。