在git bash中使用Cursor CLI

下载

官方下载地址:cursor.com/cn/download

官方文档:cursor.com/cn/docs/cli...

如何指定文件夹安装

一般来讲,在Windows环境下,Cursor CLI的安装方式是在powershell下运行:

powershell 复制代码
irm 'https://cursor.com/install?win32=true' | iex

但默认情况下无法指定文件夹安装,会自动安装在%LOCALAPPDATA%\cursor-agent(一般为 C:\Users\<用户名>\AppData\Local\cursor-agent文件夹)。我们需要做的就是将官方的运行脚本下载下来,并更改其中的安装路径。

将文件下载下来:

arduino 复制代码
# git bash
curl -o cursor-install.ps1 "https://cursor.com/install?win32=true"

# powershell
irm "https://cursor.com/install?win32=true" -OutFile ".\cursor-install.ps1"

下载下来的脚本是这样的:

php 复制代码
$downloadUrl = 'https://downloads.cursor.com/lab/2026.07.16-899851b/'  
$version = '2026.07.16-899851b'  
function Get-Architecture {  
    # NB: We do it this way to protect against WOW64 redirection - i.e.  
    # if the user accidentally is in 32-bit or 64-bit Intel Powershell,  
    # we don't want to be fibbed to  
    $systemType = (Get-WmiObject Win32_ComputerSystem).SystemType  
    if ($systemType -like "*ARM64*") { return "arm64" } else { return "x64" }  
}  
function Download-InstallPackage {  
    param(  
        [string]$UrlPrefix,  
        [string]$TargetPath,  
        [string]$Version  
    )  
  
    $tempFile = "$TargetPath\$([System.Guid]::NewGuid().ToString()).zip"  
    $architecture = Get-Architecture  
    $fullUrl = $UrlPrefix + "windows/$architecture/agent-cli-package.zip"  
  
    try {  
        Invoke-WebRequest -Uri $fullUrl -OutFile $tempFile  
        Expand-Archive -Path $tempFile -DestinationPath $TargetPath -Force  
        Rename-Item -Path "$TargetPath\dist-package" -NewName $Version  
  
        # Copy all files that begin with 'cursor-agent' to the root dir  
        Get-ChildItem -Path "$TargetPath\$Version" -Filter 'cursor-agent*' | Copy-Item -Destination "$TargetPath\.."  
  
        # Create agent alias (primary command) for cursor-agent  
        $rootDir = "$TargetPath\.."  
        if (Test-Path "$rootDir\cursor-agent.exe") {  
            Copy-Item -Path "$rootDir\cursor-agent.exe" -Destination "$rootDir\agent.exe" -Force  
        }  
        if (Test-Path "$rootDir\cursor-agent.cmd") {  
            Copy-Item -Path "$rootDir\cursor-agent.cmd" -Destination "$rootDir\agent.cmd" -Force  
        }  
        if (Test-Path "$rootDir\cursor-agent.ps1") {  
            Copy-Item -Path "$rootDir\cursor-agent.ps1" -Destination "$rootDir\agent.ps1" -Force  
        }  
    }  
    finally {  
        if (Test-Path $tempFile) {  
            Remove-Item $tempFile  
        }  
    }  
}  
function Initialize-CursorAgent {  
    ## initially set up the cursor-agent directory  
    ## Create %LocalAppData%\cursor-agent\versions  
    ## Add %LocalAppData%\cursor-agent to PATH  
    $agentPath = "$env:LOCALAPPDATA\cursor-agent"  
    $versionsPath = "$agentPath\versions"  
  
    # If $agentPath exists, delete it  
    if (Test-Path $agentPath) {  
        Remove-Item -Recurse -Force $agentPath  
    }  
  
    New-Item -ItemType Directory -Path $agentPath -Force | Out-Null  
    New-Item -ItemType Directory -Path $versionsPath -Force | Out-Null  
  
    # Add to PATH  
    $currentPath = [Environment]::GetEnvironmentVariable("PATH", "User")  
    if ($currentPath -notlike "*$agentPath*") {  
        [Environment]::SetEnvironmentVariable("PATH", "$currentPath;$agentPath", "User")  
    }  
  
    # Add to current shell PATH  
    if ($env:PATH -notlike "*$agentPath*") {  
        $env:PATH = "$env:PATH;$agentPath"  
    }  
}  
function Print-CursorAgentInstructions {  
    Write-Host "Start using Cursor Agent:"  
    Write-Host "   agent"  
    Write-Host ""  
    Write-Host ""  
    Write-Host "Happy coding!"  
    Write-Host ""  
}  
  
Initialize-CursorAgent  
Download-InstallPackage -UrlPrefix $downloadUrl -TargetPath "$env:LOCALAPPDATA\cursor-agent\versions" -Version $version  
Print-CursorAgentInstructions

其中51行和83行:

bash 复制代码
...
$agentPath = "$env:LOCALAPPDATA\cursor-agent"
...
Download-InstallPackage -UrlPrefix $downloadUrl -TargetPath "$env:LOCALAPPDATA\cursor-agent\versions" -Version $version
...

$env:LOCALAPPDATA\cursor-agent改成期望的路径(或者直接丢给AI改),比如:

bash 复制代码
...
$agentPath = "D:\apps\CursorCLI"
...
Download-InstallPackage -UrlPrefix $downloadUrl -TargetPath "D:\apps\CursorCLI\versions" -Version $version
...

然后在powershell下安装即可:

powershell 复制代码
.\cursor-install.ps1

安装成功后即可在powershell下通过agent命令即可开始使用Cursor CLI。

另一种方法

AI还说可以"用 NTFS 目录联接(Junction)做「软重定向」",将默认安装路径指向计划安装的地方即可,后续升级时也可以直接运行官方命令。

但我觉得在脚本里写死路径更有安全感,如果后续官方脚本修改了默认安装路径,更新时软重定向就失效了。

在git bash中配置

其实执行安装脚本时,脚本已经将安装路径加到了Windows的环境变量中,直接运行agent.cmd命令就可以在git bash环境下使用了,但git bash默认不会读Windows的PATHEXT环境变量,故无法直接通过agent命令打开Cursor CLI。

需要配置一下~/.bash_profile文件,在其中添加:

ini 复制代码
alias agent='<安装路径>/agent.cmd'
# 如:alias agent='/d/apps/CursorCLI/agent.cmd'

Windows下, git bash 默认不会加载 ~/.bashrc ,若习惯在 ~/.bashrc 下配置环境,可以在 ~/.bash_profile 中手动添加一行 source ~/.bashrc 。(学习自:Windows下的Git Bash配置,提升你的终端操作体验 - Achuan-2的文章 - 知乎

然后就可以愉快地在git bash下使用agent命令打开Cursor CLI了。

相关推荐
赵大仁6 小时前
Cursor vs Claude Code vs Copilot:2026 年 AI 编程工具怎么选
人工智能·ai编程·cursor·github copilot·claude code
一枚菜鸟_2 天前
Flutter + Cursor 一天出 App?这 3 个坑让开发者多花了 3 小时
flutter·cursor
TrisighT6 天前
Agent 的工具调用我从来不用官方推荐那套写法——4 个我实测下来更稳的隐藏用法
aigc·openai·cursor
卡卡罗特AI7 天前
Grok4.5发布,马斯克终于上桌了!Cursor功不可没~
ai编程·cursor·grok
牧艺9 天前
Cursor 多 Agent 与 Worktree:大重构不再赌一把
人工智能·agent·cursor
华科大胡子9 天前
Cursor + GitOps:自动化运维新姿势
cursor
ServBay10 天前
Cursor不得不配置的 9 款MCP Server 清单
ai编程·cursor·mcp
星云_byto11 天前
五分钟从零配置好VSCode + Claude Code + DeepSeek V4 Pro
ide·vscode·编辑器·cursor·codex·claude code·deepseekv4