docs: add Windows Server扩容指南和OpenCode安装文档

新增了nvm全局npm包配置、开发驱动器扩容步骤,以及完整的OpenCode安装与常见问题排查文档
This commit is contained in:
wenyongda 2026-06-04 11:22:17 +08:00
parent 194861d3e5
commit 09da302a66
2 changed files with 308 additions and 0 deletions

203
source/_posts/OpenCode.md Normal file
View File

@ -0,0 +1,203 @@
---
title: OpenCode
date: 2026-06-04 10:34:02
tags:
---
# OpenCode 安装指南
## Windows 安装方式
### 方式一:使用 npm 安装(推荐)
1. 确保已安装 Node.js建议版本 16 或更高)
2. 打开 PowerShell 或命令提示符
3. 运行以下命令进行全局安装:
```bash
npm i -g opencode-ai
```
4. 安装完成后,可以通过以下命令验证安装:
```bash
opencode --version
```
### 方式二:使用 curl 安装(需要 WSL 或 Git Bash
如果您使用的是 Windows Subsystem for Linux (WSL) 或 Git Bash可以使用以下命令
```bash
curl -fsSL https://opencode.ai/install | bash
```
**注意:** 此方式需要在 Unix-like 环境中运行Windows 原生的命令提示符或 PowerShell 不支持此命令。
## 其他操作系统安装方式
### Linux/macOS
```bash
curl -fsSL https://opencode.ai/install | bash
```
或使用 npm
```bash
npm i -g opencode-ai
```
## 常见问题
### PowerShell 中使用 curl 安装后命令不识别
**问题描述:** 在 PowerShell 中运行 `curl -fsSL https://opencode.ai/install | bash` 后,`opencode` 命令无法识别。
**原因分析:**
1. PowerShell 中的 `curl``Invoke-WebRequest` 的别名,不是真正的 curl
2. `bash` 命令在 PowerShell 中不可用(除非安装了 WSL 或 Git Bash
3. 即使安装成功,安装路径可能不在 Windows PATH 中
**解决方案:**
#### 方案一:使用 npm 安装(推荐)
```bash
npm i -g opencode-ai
```
#### 方案二:在 WSL 或 Git Bash 中安装
1. 打开 WSL 或 Git Bash
2. 运行安装命令:
```bash
curl -fsSL https://opencode.ai/install | bash
```
3. 如果仍然不识别,检查安装路径并添加到 PATH
#### 方案三:手动添加 PATH
如果已安装但命令不识别:
1. 找到安装位置(通常在 `~/.local/bin``/usr/local/bin`
2. 将路径添加到 Windows PATH
```powershell
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\path\to\opencode", "User")
```
3. 重启 PowerShell
### nvm 用户切换 Node.js 版本后 opencode 不可用
**问题描述:** 使用 nvmNode Version Manager管理 Node.js 版本时,切换版本后之前全局安装的 opencode 命令无法识别。
**原因分析:**
nvm 为每个 Node.js 版本维护独立的全局包目录。当您切换 Node.js 版本时:
- 每个版本有自己独立的 `node_modules` 目录
- 之前版本安装的全局包在新版本中不可用
- 需要重新安装全局包
**解决方案:**
#### 方案一:为当前版本重新安装(推荐)
```bash
# 切换到目标 Node.js 版本
nvm use 18
# 重新安装 opencode
npm i -g opencode-ai
```
#### 方案二:使用 nvm 的默认包迁移功能
```bash
# 设置默认 Node.js 版本
nvm alias default 18
# 重新安装全局包
npm i -g opencode-ai
```
#### 方案三:使用 nvm 的 --default-packages 参数
在安装 Node.js 版本时指定默认包:
```bash
# 设置默认包列表
echo "opencode-ai" > ~/.nvm/default-packages
# 安装新版本时会自动安装默认包
nvm install 18
```
#### 方案四:检查当前 Node.js 版本
```bash
# 查看当前使用的 Node.js 版本
node --version
# 查看 nvm 列表
nvm list
# 切回之前安装 opencode 的版本
nvm use <之前版本号>
```
**最佳实践:**
1. 在切换版本后检查全局包:`npm list -g --depth=0`
2. 为常用版本安装 opencode`nvm use <版本> && npm i -g opencode-ai`
3. 考虑使用 `nvm alias default <版本>` 设置默认版本
#### 方案五:配置独立的全局包目录(一劳永逸)
将 npm 全局包目录设置到固定位置,不依赖于 nvm 管理的 Node.js 版本:
```bash
# 1. 创建全局包目录
mkdir -p ~/.npm-global
# 2. 配置 npm 使用新目录
npm config set prefix ~/.npm-global
# 3. 添加到 PATH添加到 ~/.bashrc 或 ~/.zshrc
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 4. 安装 opencode
npm i -g opencode-ai
```
**优点:**
- 所有 Node.js 版本共享同一套全局包
- 切换版本后无需重新安装
- 一次安装,永久可用
**注意:** 如果遇到包兼容性问题,可以删除 `~/.npm-global` 目录并重新配置。
#### 方案六:使用 nvm 的 reinstall-packages 迁移包
如果已经在某个版本下安装了 opencode可以迁移到其他版本
```bash
# 查看当前版本
nvm current
# 切换到目标版本
nvm use 18
# 将之前版本的全局包迁移到当前版本
nvm reinstall-packages <源版本号>
```
例如:`nvm reinstall-packages 16.20.0` 将 16.20.0 版本的全局包迁移到当前版本。
### 权限问题
如果在 Linux/macOS 上遇到权限错误,请使用 `sudo`
```bash
sudo npm i -g opencode-ai
```
### 网络问题
如果下载速度慢,可以尝试使用镜像源:
```bash
npm config set registry https://registry.npmmirror.com
npm i -g opencode-ai
```
## 验证安装
安装完成后,运行以下命令验证:
```bash
opencode --version
```
如果显示版本号,则表示安装成功。

View File

@ -513,6 +513,42 @@ setx /M npm_config_cache D:\packages\npm
robocopy %AppData%\npm-cache D:\packages\npm /E
```
#### nvm 用户配置全局包安装位置
使用 nvm (Node Version Manager) 管理 Node.js 版本时,每个版本有独立的全局包目录。为避免切换版本后全局包不可用,可将全局包目录配置到固定位置:
```powershell
# 1. 创建全局包目录
mkdir D:\packages\npm-global
# 2. 配置 npm 使用新目录作为 prefix
npm config set prefix D:\packages\npm-global
# 3. 添加到 PATH 环境变量
setx /M PATH "%PATH%;D:\packages\npm-global"
# 4. 验证配置
npm config get prefix
npm config get cache
```
**配置说明:**
- `prefix`:全局包安装目录,`npm install -g` 的包会安装到此目录下的 `node_modules` 子目录
- `cache`npm 缓存目录,存放下载的包压缩包
- 配置后所有 Node.js 版本共享同一套全局包,切换版本无需重新安装
**验证全局包目录:**
```powershell
# 查看当前 prefix 配置
npm config get prefix
# 查看全局包列表
npm list -g --depth=0
# 测试安装全局包
npm install -g opencode-ai
```
### NuGet (.NET)
```powershell
@ -586,6 +622,9 @@ robocopy %USERPROFILE%\.gradle D:\packages\gradle /E
# npm 缓存目录
npm config get cache
# npm 全局包安装目录prefix
npm config get prefix
# yarn 缓存目录
yarn cache dir
@ -735,6 +774,72 @@ cmd /c dir "C:\Users\你的用户名" /AL
- **WSL 兼容性:** 可从 WSL 访问开发驱动器上的文件但不会有性能提升。ReFS 不支持 WSL metadata 装载选项。
## 扩容开发驱动器
当开发驱动器空间不足时,可以通过以下步骤扩容 VHD 类型的开发驱动器。
### 步骤一:扩展 VHD 文件大小
以管理员身份打开 PowerShell使用 `Resize-VHD` 命令扩展 VHD 文件:
```powershell
# 扩展 VHD 文件到 60GB根据实际需求调整大小
Resize-VHD -Path 'E:\DevDrives\SourceCode.vhdx' -SizeBytes 60GB
```
> **注意:** 将路径和大小替换为实际的 VHD 文件路径和目标大小。`SizeBytes` 参数指定的是最终大小,不是增加量。
### 步骤二:挂载 VHD 并扩展分区
以管理员身份打开命令提示符,使用 diskpart 工具:
```cmd
# 启动 diskpart
diskpart
# 选择 VHD 文件
select vdisk file="E:\DevDrives\SourceCode.vhdx"
# 挂载 VHD
attach vdisk
# 查看磁盘列表,找到 VHD 对应的磁盘编号
list disk
# 选择 VHD 磁盘(替换 X 为实际磁盘编号)
select disk X
# 查看分区列表
list partition
# 选择 Dev Drive 分区(替换 Y 为实际分区编号)
select partition Y
# 扩展分区,使用所有未分配空间
extend
# 退出 diskpart
exit
```
![image-20260604112051119](https://rustfs.wenyongdalucky.club:443/hexo/image-20260604112051119.png)
### 步骤三:验证扩容结果
```powershell
# 检查 VHD 信息
Get-VHD -Path 'E:\DevDrives\SourceCode.vhdx'
# 或在文件资源管理器中查看驱动器属性
```
### 注意事项
- 扩容操作不会丢失数据,但建议提前备份重要文件
- VHD 必须处于**分离detach状态**才能调整大小,如果已挂载需先分离
- 扩展分区时,未分配空间必须紧邻目标分区(右侧)
- 如果未分配空间不在目标分区右侧,可能需要使用第三方分区工具调整
## 删除开发驱动器
1. **设置 > 系统 > 存储 > 磁盘和卷**