OpenCode 从 Windows 迁移到 Wsl2


之所以需要将Windows运行的好好的OpenCode迁移到Wsl主要是为了解决Skill在运行过程中,部分调用工具命令Git Bash命令行与Windows目录盘符以及执行程序环境之间的不兼容问题,索性直接切换到仿Linux环境,保证文件目录体系的运行一致性,降低OpenCode的使用难度。

前置准备

Wsl2

Windows中已经安装了Wsl并升级到了Wsl2,具体安装教程可以查看微软文档,本文不再进行介绍。

子系统镜像

这里使用的是Ubuntu22.04,是Ubuntu官方网站针对Wsl对应版本的镜像文件。这里是Ubuntu2404-250130_x64.wsl下载地址,可以自行下载。

既有经验

Windows中已经成功运行安装过OpenCode,并熟悉./config/opencode目录以及./local/share/opencode目录。

迁移步骤

下载分发版镜像

Ubuntu2404-250130_x64.wsl下载地址

安装分发版镜像

对应Ubuntu2204-250130_x64.wsl这个镜像文件来说,使用高版本wsl有两种加载方式。
方式一(推荐)
使用--import指令,导入过程中,需要设置wsl对应的分发版名称以及导入之后本地磁盘文件的物理输出路径,同时首次导入需要设置默认的用户账户以及密钥。

>wsl --import[wsl_name][out_dir]./Ubuntu2404-250130_x64.wsl

方式二
先安装挂载,退出并停止会话后,再移动到指定目录。
进行安装。

wsl --install --from-file ./Ubuntu2404-250130_x64.wsl --version2--name[name]

输出如下:

正在安装: Ubuntu2404-250130_x64.wsl 已成功安装分发。可以通过 “wsl.exe -d ubuntu2204-opencode” 启动它

输入账户和密钥。

正在启动 ubuntu2204-opencode... Provisioning the new WSL instance ubuntu2204-opencode This might take a while... Create a default Unix user account:[username]New password: Retype new password: passwd: password updated successfully To run acommandas administrator(user"root"), use"sudo <command>".See"man sudo_root"fordetails.

退出并关闭。

wsl -d[wls_name]--shutdown

此处wsl_nameubuntu2204-opencode

wsl -d ubuntu2204-opencode --shutdown

移动分发版系统到指定目录(因为默认安装,对应镜像磁盘文件在C盘),移动成功后就可以在目标路径文件夹看到一个<wsl_name>.vhdx文件。

wsl --manage[name]--move[绝对路径文件夹]

安装OpenCode

进入目标子系统,并输入安装时,设置的密钥。

wsl -d[wsl_name]

切换到用户根目录。

cd~

这里为了简化过程,采用在线脚本安装方式,默认安装到当前用户.opencode文件夹中,也可以通过设置环境变量OPENCODE_HOME=/usr/local/bin进行处理。

curl-fsSL https://opencode.ai/install|bash

之后就是静静等待下载和安装。
安装完成后,当前会话需要注意,直接查找whereis opencode可能不会看到对应命令,而是会看到宿主机中的opencode目录,类似如下:

$whereisopencode opencode: /mnt/d/nvm/v20.19.5/opencode

这个时候,不要认为是安装失败,exit当前会话,重新使用wsl -d [wsl_name]进入会话。

exit

重新进入会话。

wsl -d[wsl_name]

查看指令。

whereisopencode

输出如下,表示安装成功:

opencode: /home/llr/.opencode/bin/opencode /mnt/d/nvm/v20.19.5/opencode

安装oh-my-opencode

这里也是用在线安装,但是需要注意的是安装oh-my-opencode之前,需要系统中包含unzip指令,以及bun。如果没有unzip,将导致bun在线脚本无法正常执行。

apt-getinstallunzip-y

安装成功后,执行bun在线安装脚本。

curl-fsSL https://bun.sh/install|bash

安装成功后,当前会话如果需要立即生效,需要执行source加载执行当前会话,添加环境变量,此处userllr

source./home/[user]/.bashrc

查找bun是否添加环境变量。

whereisbun

输出如下,表示环境变量添加成功:

bun: /home/[user]/.bun/bin/bun

开始安装oh-my-opencode,其中--claude=yes --chatgpt=yes --gemini=yes如果都没有可以设置为no

bunx oh-my-opencodeinstall--no-tui --claude=yes --chatgpt=yes --gemini=yes

安装成功后,进行验证。

cat~/.config/opencode/opencode.json|grep"oh-my-opencode"

输出如下,表示安装成功:

"oh-my-opencode"

找到一个目录,打开运行命令,第一次需要下载依赖,会比较缓慢出现黑屏,需要耐心等待。

opencode

运行正常如下:

迁移Windows配置

基础配置安装好之后,就可以迁移Windows中的配置到wsl分发系统中。
拷贝WindowsC:/Users/ll/.local/share/opencode/auth.json/home/[user]/.local/share/opencode/目录下。
拷贝Windows./config/opencode/下的配置oh-my-opencode.jsonopencode.jsonwsl的用户目录/home/[user]/.config/opencode/

迁移之后,退出opencode,再重新进入,如果提示配置错误,就按照错误提示进行问题修复,一般都是缺少插件,按照之前的逻辑进行重新安装即可。

注意事项

唯一需要注意的是,此时使用的npmnode.js实际是使用的Windows主系统的,虽然大多数时候不会存在问题,架不住有那么个意外,建议重新安装nodejs以及npm
验证方式如下:

whereisnpm

输出结果如下,表示实际还是使用的主系统的:

npm: /mnt/d/nvm/v20.19.5/npm

迁移总结

以上为Windows迁移到Wsl中的整个过程,基本上没有太多的问题,主要还是考验读者对两个操作系统的应用下层环境变量部分的熟悉程度,在linux下能避免不少跨操作系统带来的文件目录层面的干扰问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1198901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter for HarmonyOS 前置知识:Dart语言详解(中)

作者&#xff1a;个人主页&#xff1a;ujainu 前言 &#x1f680; Dart 基础语法详解&#xff1a;函数、类与构造函数全面解析 本文带你系统掌握 Dart 中的核心语法 —— 函数定义、参数类型、匿名函数、箭头函数以及类和构造函数的使用方法。适合 Flutter 开发初学者快速上手…

科哥开发FunASR语音识别WebUI|集成ngram语言模型实践指南

科哥开发FunASR语音识别WebUI&#xff5c;集成ngram语言模型实践指南 1. 引言&#xff1a;为什么需要中文语音识别的本地化解决方案&#xff1f; 你有没有遇到过这样的场景&#xff1a;会议录音长达一小时&#xff0c;手动整理文字稿耗时又费力&#xff1f;或者想给一段视频加…

Python 3.10+环境已就绪,PyTorch镜像助力现代AI开发

Python 3.10环境已就绪&#xff0c;PyTorch镜像助力现代AI开发 在深度学习项目中&#xff0c;搭建一个稳定、高效且开箱即用的开发环境往往是第一步&#xff0c;也是最耗时的一步。依赖冲突、CUDA版本不匹配、包缺失等问题常常让开发者陷入“配置地狱”。为了解决这一痛点&…

科哥二次开发的SenseVoice Small镜像|快速构建语音情感识别应用

科哥二次开发的SenseVoice Small镜像&#xff5c;快速构建语音情感识别应用 1. 这不是普通语音识别&#xff0c;是带“情绪感知”的听觉理解 你有没有遇到过这样的场景&#xff1a;客服系统能准确转录用户说的话&#xff0c;却完全听不出对方已经气得拍桌子&#xff1b;智能会…

用Qwen3-Embedding-0.6B做的AI项目,结果让人眼前一亮

用Qwen3-Embedding-0.6B做的AI项目&#xff0c;结果让人眼前一亮 1. 引言&#xff1a;轻量模型也能带来大惊喜 你有没有遇到过这样的问题&#xff1a;想做个智能搜索功能&#xff0c;但大模型太吃资源&#xff0c;小模型又不准&#xff1f;最近我试了试刚发布的 Qwen3-Embedd…

FSMN-VAD效果展示:复杂背景音下的语音识别能力

FSMN-VAD效果展示&#xff1a;复杂背景音下的语音识别能力 1. 引言&#xff1a;为什么语音端点检测如此关键&#xff1f; 你有没有这样的经历&#xff1f;一段长达十分钟的会议录音&#xff0c;真正说话的时间可能只有三五分钟&#xff0c;其余全是翻纸、咳嗽、空调噪音甚至沉…

YOLOv10官方镜像多卡训练技巧,提速又稳定

YOLOv10官方镜像多卡训练技巧&#xff0c;提速又稳定 在深度学习目标检测领域&#xff0c;YOLO系列一直是实时性与精度平衡的标杆。随着YOLOv10的发布&#xff0c;这一传统被进一步推向极致——不仅实现了端到端无NMS推理&#xff0c;更通过架构级优化大幅降低延迟和计算开销。…

IQuest-Coder-V1部署疑问解答:高频问题与解决方案汇总

IQuest-Coder-V1部署疑问解答&#xff1a;高频问题与解决方案汇总 1. 这个模型到底能帮你写什么代码&#xff1f; IQuest-Coder-V1-40B-Instruct不是那种“能跑就行”的代码模型&#xff0c;它专为真实开发场景打磨——你不用再对着生成的代码反复修改、补全、调试。它理解的…

亲测bert-base-chinese镜像:智能客服场景实战效果分享

亲测bert-base-chinese镜像&#xff1a;智能客服场景实战效果分享 1. 为什么选 bert-base-chinese 做智能客服&#xff1f; 你有没有遇到过这样的问题&#xff1a;用户问“怎么退货”&#xff0c;系统却理解成“怎么换货”&#xff1f;或者客户说“我订单还没到”&#xff0c…

YOLOE镜像如何用于产品缺陷检测?案例分享

YOLOE镜像如何用于产品缺陷检测&#xff1f;案例分享 在现代智能制造场景中&#xff0c;一条自动化产线每分钟可能生产上百个零部件&#xff0c;传统人工质检不仅效率低、成本高&#xff0c;还容易因疲劳导致漏检。而AI视觉检测系统虽然潜力巨大&#xff0c;却常常受限于部署复…

verl流式处理支持:实时数据训练部署案例

verl流式处理支持&#xff1a;实时数据训练部署案例 1. verl 介绍 verl 是一个灵活、高效且可用于生产环境的强化学习&#xff08;RL&#xff09;训练框架&#xff0c;专为大型语言模型&#xff08;LLMs&#xff09;的后训练设计。它由字节跳动火山引擎团队开源&#xff0c;是…

YOLOv13更新后不兼容?回滚方案在这里

YOLOv13更新后不兼容&#xff1f;回滚方案在这里 你是否也遇到过这样的情况&#xff1a;刚升级到最新的YOLOv13镜像&#xff0c;准备开始新项目训练&#xff0c;结果代码跑不通、API报错频出&#xff0c;甚至模型加载都失败&#xff1f;别急——你不是一个人。随着YOLO系列持续…

AI教材生成新利器!轻松编写低查重教材,提高创作效率!

智能工具革新教材创作&#xff1a;多维度评测与深度剖析 在撰写教材之前&#xff0c;挑选合适的工具简直如同“纠结大现场”&#xff01;如果选择办公软件&#xff0c;功能实在过于单一&#xff0c;内容框架的搭建与格式的调整都得手动完成&#xff1b;而专业的AI教材写作工具…

掌握AI教材编写技巧,低查重不再是难题,高效产出优质教材!

很多教材的编写者常常感到一个遗憾&#xff1a;虽然教材的主体内容经过精心打磨&#xff0c;但因为缺乏配套资源&#xff0c;整体的教学效果受到影响。比如&#xff0c;课后练习需要设计具有不同难度的题型&#xff0c;却没有新颖的思路&#xff1b;想要制作直观可视化的教学课…

通义千问3-14B显存不足?梯度检查点技术部署优化案例

通义千问3-14B显存不足&#xff1f;梯度检查点技术部署优化案例 1. 问题背景&#xff1a;单卡跑大模型的现实挑战 你有没有遇到过这种情况&#xff1a;手头只有一张RTX 4090&#xff0c;想本地部署一个真正能打的大模型&#xff0c;结果刚加载权重就提示“CUDA out of memory…

MinerU文化档案数字化:古籍扫描件处理挑战解析

MinerU文化档案数字化&#xff1a;古籍扫描件处理挑战解析 1. 古籍数字化的现实困境与技术破局 你有没有想过&#xff0c;那些泛黄的线装书、手写的族谱、斑驳的碑文拓片&#xff0c;如何才能被永久保存并让后人轻松查阅&#xff1f;这正是文化档案数字化的核心使命。但当我们…

如何为不同行业选GEO服务商?2026年GEO优化服务商全面评测与推荐,直击数据孤岛与效果验证痛点

在生成式人工智能(AI)深刻重塑全球信息分发与获取规则的当下,企业品牌面临着一个前所未有的战略抉择:如何在AI优先的搜索生态中,构建并维持自身的可见性、权威性与增长动力。对于企业的决策者与数字战略负责人而言…

BERT填空系统省钱攻略:低成本部署案例,按需计费省60%

BERT填空系统省钱攻略&#xff1a;低成本部署案例&#xff0c;按需计费省60% 1. 项目背景与核心价值 你有没有遇到过这样的场景&#xff1f;写文案时卡在一个词上&#xff0c;怎么都不顺&#xff1b;改文章发现句子不通但说不清问题在哪&#xff1b;教孩子古诗&#xff0c;他…

Sambert中文语音合成降本方案:低成本GPU部署节省40%费用

Sambert中文语音合成降本方案&#xff1a;低成本GPU部署节省40%费用 1. 开箱即用的Sambert多情感中文语音合成 你有没有遇到过这样的问题&#xff1a;想做个带语音播报功能的产品&#xff0c;比如智能客服、有声书生成或者短视频配音&#xff0c;但请专业配音员太贵&#xff…

微调后模型更听话!Qwen2.5-7B指令优化实战案例

微调后模型更听话&#xff01;Qwen2.5-7B指令优化实战案例 在大模型应用落地的过程中&#xff0c;一个常见的痛点是&#xff1a;明明能力很强的模型&#xff0c;却“不太听指挥”。比如你问它“你是谁&#xff1f;”&#xff0c;它总是回答“我是阿里云开发的通义千问……”&a…