首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WSL2环境下的Claude Code与lanyuncodingui安装与配置

WSL2环境下的Claude Code与lanyuncodingui安装与配置

作者头像
用户11292525
发布2025-08-26 08:11:20
发布2025-08-26 08:11:20
20100
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:0
代码可运行

前言

AI编码助手Claude Code因其强大的功能在开发者社区中备受关注,但其官方仅支持macOS与Linux平台,这一明确的技术限制将广大的Windows开发者排除在外,使其无法在自己熟悉的操作系统上直接体验。

我们将借助适用于Linux的Windows子系统(WSL2)技术,在Windows系统内部构建一个完整的、无缝集成的GNU/Linux环境,从而为Claude Code的运行创造必要条件。本指南将提供一份详尽、严肃的技术操作说明,不仅引导您完成WSL2的配置和Claude Code的部署,还将进一步安装lanyuncodingui可视化界面,将原本无法运行且基于命令行的工具,转变为一个在Windows上功能完善、操作直观的图形化AI编程工作站。

安装wsl2

wsl2是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

接下来我教各位如何进行wsl2的安装操作

系统设置

控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)以及虚拟机平台

image.png
image.png

系统一键默认安装,打开终端输入命令进行WSL更新,

代码语言:javascript
代码运行次数:0
运行
复制
wsl.exe --update

即可安装 WSL 相关的组件,这一步可能需要几分钟的时间。

安装Ubuntu

打开 Microsoft Store,搜索 Ubuntu 22.04.5 LTS并下载。

image.png
image.png

下载完成后,可以在开始菜单中找到Ubuntu 22.04.5 LTS,如果终端使用的是 Windows Terminal 那么在选项卡中也能看到 Ubuntu 22.04.5 LTS 的选项。 双击Ubuntu 22.04.5 LTS进入到界面,我们需要创建新用户和密码

image.png
image.png

这一步需要输入用户名和密码,注意:输密码的界面是看不到的,不要认为是哪里出问题了。

在输入完用户名称和密码之后,就代表安装成功了:

image.png
image.png

trae链接wsl并进行相关配置安装

打开trae,我们进行wsl链接

image.png
image.png
安装node.js和npm

切换到管理员账号

代码语言:javascript
代码运行次数:0
运行
复制
sudo -i

这里需要我们输入自己的用户密码就能成功进行切换

image.png
image.png

更新系统包列表:

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt update && sudo apt upgrade -y
image.png
image.png

安装必要的依赖

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt install -y curl software-properties-common
image.png
image.png

使用 NodeSource 安装脚本安装 Node.js 20.x:

image.png
image.png

安装 Node.js 和 npm:

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt install -y nodejs
image.png
image.png

验证安装是否成功:

代码语言:javascript
代码运行次数:0
运行
复制
node -v # 应该显示v20.x.x npm -v # 应该显示对应的npm版本
npm-v   # 应该显示对应的npm版本
image.png
image.png
安装claude code

输入下方命令进行claude code的安装

代码语言:javascript
代码运行次数:0
运行
复制
bash -c "$(curl -fsSL https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh)"

这里显示我们的链接失败了

image.png
image.png

因为这个是一个脚本文件,我们直接打开这个链接https://raw.githubusercontent.com/LanyunAI-labs/lanyun-cc/main/install.sh

image.png
image.png

网页内容如下

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash

set -e

install_nodejs() {
    local platform=$(uname -s)
    
    case "$platform" in
        Linux|Darwin)
            echo "🚀 Installing Node.js on Unix/Linux/macOS..."
            
            echo "📥 Downloading and installing nvm..."
            curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
            
            echo "🔄 Loading nvm environment..."
            \. "$HOME/.nvm/nvm.sh"
            
            echo "📦 Downloading and installing Node.js v22..."
            nvm install 22
            
            echo -n "✅ Node.js installation completed! Version: "
            node -v # Should print "v22.17.0".
            echo -n "✅ Current nvm version: "
            nvm current # Should print "v22.17.0".
            echo -n "✅ npm version: "
            npm -v # Should print "10.9.2".
            ;;
        *)
            echo "Unsupported platform: $platform"
            exit 1
            ;;
    esac
}

# Check if Node.js is already installed and version is >= 18
if command -v node >/dev/null 2>&1; then
    current_version=$(node -v | sed 's/v//')
    major_version=$(echo $current_version | cut -d. -f1)
    
    if [ "$major_version" -ge 18 ]; then
        echo "Node.js is already installed: v$current_version"
    else
        echo "Node.js v$current_version is installed but version < 18. Upgrading..."
        install_nodejs
    fi
else
    echo "Node.js not found. Installing..."
    install_nodejs
fi

# Check if Claude Code is already installed
if command -v claude >/dev/null 2>&1; then
    echo "Claude Code is already installed: $(claude --version)"
else
    echo "Claude Code not found. Installing..."
    npm install -g @anthropic-ai/claude-code
fi

# Configure Claude Code to skip onboarding
echo "Configuring Claude Code to skip onboarding..."
node --eval '
    const homeDir = os.homedir(); 
    const filePath = path.join(homeDir, ".claude.json");
    if (fs.existsSync(filePath)) {
        const content = JSON.parse(fs.readFileSync(filePath, "utf-8"));
        fs.writeFileSync(filePath,JSON.stringify({ ...content, hasCompletedOnboarding: true }, 2), "utf-8");
    } else {
        fs.writeFileSync(filePath,JSON.stringify({ hasCompletedOnboarding: true }), "utf-8");
    }'

# Prompt user for API key
echo "🔑 Please enter your lanyun API key:"
echo "🔑 请输入您的蓝耘 API 密钥:"
echo "   You can get your API key from: https://maas.lanyun.net/"
echo "   您可以从这里获取 API 密钥:https://maas.lanyun.net/"
echo "   Note: The input is hidden for security. Please paste your API key directly."
echo "   注意:为了安全起见,输入内容将被隐藏。请直接粘贴您的 API 密钥。"
echo ""
read -s api_key
echo ""

if [ -z "$api_key" ]; then
    echo "⚠️  API key cannot be empty. Please run the script again."
    exit 1
fi

# Prompt user for model (optional, default is k2)
echo ""
echo "🤖 Please enter the Claude model to use (press Enter for default 'k2'):"
echo "🤖 请输入要使用的 Claude 模型(按回车使用默认值 'k2'):"
echo ""
read model
echo ""

# Set default model if not provided
if [ -z "$model" ]; then
    model="k2"
    echo "ℹ️  Using default model: k2"
fi

# Detect current shell and determine rc file
current_shell=$(basename "$SHELL")
case "$current_shell" in
    bash)
        rc_file="$HOME/.bashrc"
        ;;
    zsh)
        rc_file="$HOME/.zshrc"
        ;;
    fish)
        rc_file="$HOME/.config/fish/config.fish"
        ;;
    *)
        rc_file="$HOME/.profile"
        ;;
esac

# Add environment variables to rc file
echo ""
echo "📝 Adding environment variables to $rc_file..."

# Check if ALL three variables exist
has_base_url=$(grep -c "ANTHROPIC_BASE_URL" "$rc_file" 2>/dev/null || echo 0)
has_api_key=$(grep -c "ANTHROPIC_API_KEY" "$rc_file" 2>/dev/null || echo 0)
has_model=$(grep -c "ANTHROPIC_MODEL" "$rc_file" 2>/dev/null || echo 0)

if [ "$has_base_url" -gt 0 ] && [ "$has_api_key" -gt 0 ] && [ "$has_model" -gt 0 ]; then
    echo "⚠️  Environment variables already exist in $rc_file. Updating with new values..."
    # Remove old entries (compatible with both macOS and Linux)
    if [[ "$OSTYPE" == "darwin"* ]]; then
        sed -i.bak '/ANTHROPIC_BASE_URL/d' "$rc_file"
        sed -i.bak '/ANTHROPIC_API_KEY/d' "$rc_file"
        sed -i.bak '/ANTHROPIC_MODEL/d' "$rc_file"
        rm -f "$rc_file.bak"
    else
        sed -i '/ANTHROPIC_BASE_URL/d' "$rc_file"
        sed -i '/ANTHROPIC_API_KEY/d' "$rc_file"
        sed -i '/ANTHROPIC_MODEL/d' "$rc_file"
    fi
fi

# Add/update entries
echo "" >> "$rc_file"
echo "# Claude Code environment variables" >> "$rc_file"
echo "export ANTHROPIC_BASE_URL=https://maas-api.lanyun.net/anthropic-k2/" >> "$rc_file"
echo "export ANTHROPIC_API_KEY=$api_key" >> "$rc_file"
echo "export ANTHROPIC_MODEL=$model" >> "$rc_file"
echo "✅ Environment variables added/updated in $rc_file"

echo ""
echo "🎉 Installation completed successfully!"
echo "🎉 安装成功完成!"
echo ""
echo "⚠️  IMPORTANT: Run this command to activate Claude Code:"
echo "⚠️  重要:运行以下命令激活 Claude Code:"
echo ""
echo "   source $rc_file"
echo ""
echo "🚀 After that, you can use: claude"
echo "🚀 之后即可使用:claude"

将文本复制到Ubuntu中,保存到文件install.sh中 我们这个样子就是保存好了的

image.png
image.png

输入命令执行这个文件

代码语言:javascript
代码运行次数:0
运行
复制
./install.sh

但是这里显示不被允许,说明我们文件没有权限进行执行

image.png
image.png

使用命令进行查询文件状态

代码语言:javascript
代码运行次数:0
运行
复制
ll

输入下方命令给文件install.sh增加可执行的权限

代码语言:javascript
代码运行次数:0
运行
复制
chmod +x install.sh
image.png
image.png

然后我们再次输入命令进行文件install.sh的执行

代码语言:javascript
代码运行次数:0
运行
复制
./install.sh

这里他就会检查我们的环境配置,这里显示claude code还没有安装,所以我们这里是先进行claude code的安装的

image.png
image.png

这里我们是需要等待一会儿的 安装好了之后如下:

image.png
image.png

这里我们需要进行api-key的配置操作 来到https://console.lanyun.net/#/register?promoterCode=0131进行蓝耘的注册,输入相关信息即可注册成功

image.png
image.png

主页顶部找到MaaS平台 这里有很多的ai模型供你使用

image.png
image.png

进行api-key的创建

image.png
image.png

将密钥进行复制

image.png
image.png

来到终端,将你的api-key粘贴到这种然后回车就能将api-key写入到环境变量中去 然后我们回车即可,使用默认的模型

image.png
image.png

按照上面的提示我们需要进行激活操作

代码语言:javascript
代码运行次数:0
运行
复制
source /root/.bashrc

然后输入命令激活claude code

代码语言:javascript
代码运行次数:0
运行
复制
claude

他这里会询问我们的密钥是否选择我们环境中配置好的,我们直接选择Yes就行了

image.png
image.png

然后他又询问我们是否相信这个文件,我们同样选择

代码语言:javascript
代码运行次数:0
运行
复制
Yes,proceed
image.png
image.png

然后就到了我们的使用界面了

image.png
image.png

这个还是挺不错的,模型是kimi -k2

image.png
image.png
image.png
image.png
安装lanyuncodingui

但是这种方式我觉得挺不方便的,但是蓝耘提供了可视化ui界面供我们使用 在终端输入命令进行可视化ui界面安装

代码语言:javascript
代码运行次数:0
运行
复制
npm install -g lanyuncodingui@latest
image.png
image.png

这样子我们就安装好了,你如果出现了报错的话说明你没有切换到管理员账号

代码语言:javascript
代码运行次数:0
运行
复制
sudo -i  #输入密码切换到root管理员账户

然后输入命令进行界面启动

代码语言:javascript
代码运行次数:0
运行
复制
lanyuncodingui
image.png
image.png

这里他提示我们界面运行在http://localhost:3700/ 首次运行我们需要进行账户的创建操作

image.png
image.png

输入账号密码就能进行登录了

image.png
image.png

进入到可视化界面的首页,他提醒我们进行项目文件夹的选择

image.png
image.png

这里我们可以看到历史聊天的记录

image.png
image.png

仔细看还能发现这里可以进行终端命令的输入

image.png
image.png

还能进行git仓库的链接,更好的管理文件资源

image.png
image.png

终端文件同样也是可视化操作的

image.png
image.png

左下角设置界面里面可以进行规则以及MCP的设置

image.png
image.png

并且我们还能进行api的设置,可以设置其他的模型

image.png
image.png

这个k2模型不管是代码还是写作生成都是很强势的

image.png
image.png

总结

本教程的核心贡献在于,利用WSL2技术成功地将官方不支持Windows的Claude Code带到了广大的Windows平台,彻底解决了跨平台兼容性的首要难题。我们通过详尽的步骤,确保了开发者能够顺利地在WSL2环境中完成所有基础环境的搭建与配置。

此基础上,蓝耘lanyuncodingui的引入是提升整个方案实用性的关键。它将原本完全基于命令行的操作流程,转变为一个高效且易于管理的图形化应用,具体体现在以下几个方面:

  • 简化的配置管理:用户不再需要手动编辑配置文件或执行source命令来加载环境变量。lanyuncodingui提供了清晰的设置界面,用于直接输入和修改API密钥、切换AI模型,这降低了配置错误的可能性。
  • 高效的文件操作:它提供了可视化的文件目录树和内置编辑器,用户可以通过图形界面直接进行文件的创建、查看、修改和删除,无需依赖ls、vim等Linux命令,显著提高了文件管理的效率。
  • 集成化的工作环境:该界面将AI对话、历史记录、Git版本控制以及一个功能完整的终端整合到单一窗口中。这种设计减少了在不同应用程序之间切换的需要,使开发工作流更加连贯。

综上所述,lanyuncodingui并非一个简单的图形前端,而是一个功能性的集成开发工具。它通过提供一个结构化、可视化的操作环境,极大地降低了Claude Code的使用难度。它免除了开发者记忆和输入大量命令的负担,使其能够将精力完全集中于代码开发任务本身。因此,lanyuncodingui的运用,使得在Windows上使用Claude Code成为一个真正高效、可靠的技术方案。

蓝耘平台目前的MaaS 特价/折扣资源包活动和“周周抢免费无门槛代金券”活动都是在线的,感兴趣的赶紧来体验吧 蓝耘

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装wsl2
    • 系统设置
    • 安装Ubuntu
  • trae链接wsl并进行相关配置安装
    • 安装node.js和npm
    • 安装claude code
    • 安装lanyuncodingui
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档