Командная строка Cursor - это отдельная поверхность со своей установкой, своим обновлением и своей версией. Официальный способ - установочный скрипт: на macOS, Linux и в подсистеме Windows он ставится одной строкой, на Windows есть свой вариант через PowerShell. Первое, что делают после установки, - спрашивают версию: это и проверка работоспособности, и фиксация того, что именно у вас запускается. Отдельная она и по смыслу: редактор можно не открывать вовсе, а агент в терминале останется рабочим инструментом.
Наивное ожидание - что установка одинакова везде и после неё команда просто есть. На практике самая частая проблема первого запуска не в установке, а в путях: скрипт кладёт команду в пользовательский каталог, а оболочка о нём не знает. Симптом выглядит как отсутствие программы, причина - в переменной путей. Добавляет путаницы то, что текущая сессия оболочки читает переменную один раз при старте: правка профиля без перезапуска ничего не меняет, и человек делает вывод, что правка не помогла.
Обновляется командная строка обычно сама, но есть и явная команда обновления. Разница важна для автоматизации: там, где нужна воспроизводимость, полагаться на автоматическое обновление нельзя - завтрашний прогон может выполниться другой версией с другим поведением. В таких местах версию фиксируют явно, а обновляют осознанно, отдельным шагом, с проверкой.
Полезно один раз увидеть команды установки для всех платформ и проверку версии рядом. Ниже они и приведены. Практическая привычка, которую стоит завести сразу: писать версию в отчёты об ошибках и в логи автоматизации. Половина непонятных расхождений между машинами объясняется именно разными версиями, и одна строка в логе снимает вопрос до того, как он превратится в час обсуждений.
Разбор проблемы с путями идёт по шагам и занимает пару минут. Сначала выясняют, где команда лежит физически, потом - какой файл оболочка находит по имени. Расхождение между этими двумя ответами и есть самый неприятный вариант: копий несколько, одна пришла со скриптом установки, другая из менеджера пакетов, и запускается не та, что вы обновляли. В отчёт при этом попадает версия, которую вы посмотрели руками, а работает другая. Поэтому версию проверяют тем же вызовом, который делает работу, а не соседним.
Отдельно стоит проговорить установку через конвейер из сети в оболочку. Это официальный способ, но по сути он остаётся загрузкой и исполнением удалённого скрипта с вашими правами. В обычной работе это приемлемо; в регулируемой среде правильнее скачать артефакт, просмотреть его, положить во внутренний канал распространения и ставить оттуда. Разница не в паранойе, а в том, кто отвечает за содержимое исполняемого файла.
Для командной строки особенно важна дисциплина воспроизводимости, потому что именно она попадает в скрипты и в непрерывную интеграцию. Там ни у кого нет возможности поправить что-то руками: прогон либо детерминирован, либо нет. Поэтому в автоматизации фиксируют версию, задают явные флаги и не полагаются на состояние машины, которое сложилось само.
Признак, по которому смену версии узнают в реальной работе, простой: вчера прогон был зелёный, сегодня красный, а в репозитории ничего не менялось. Первое, что сравнивают в такой ситуации, - не код, а версии инструмента на двух прогонах; если версия в логе не пишется, сравнивать нечего и начинается угадывание. Отсюда и граница применимости автоматического обновления: на личной машине оно уместно, потому что цена ошибки - ваши пять минут, а в общей автоматизации неуместно, потому что цена - чужой сломанный прогон в неудобное время.
Инженерный вывод простой: относитесь к командной строке как к зависимости проекта. У неё есть версия, канал обновления и владелец. Если это записано, диагностика превращается в чтение лога; если нет, каждое расхождение придётся выяснять заново, сравнивая машины между собой.
Типичные провалы предсказуемы. Не найти команду после установки и искать проблему в продукте вместо переменной путей. Понадеяться на автоматическое обновление там, где нужна воспроизводимость. Установить конвейером из сети в регулируемой среде без согласования канала. И не писать версию в логи, оплачивая это часами диагностики позже.
# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex
agent --version
# Явное обновление: agent update; в автоматизации версию фиксируют, а не обновляют сами# macOS, Linux и подсистема Windows
curl https://cursor.com/install -fsS | bash
agent --version
# Если команда не найдена - каталог не в PATH, а не продукт сломан