OneScript Version Manager
August 1, 2025 · View on GitHub
Цель
ovm - утилита, предназначенная для установки, обновления и переключения между различными версиями OneScript. Вдохновение черпается из nvm (node.js version manager)
Пререквизиты
- Установленный
.Net Framework >=4.5.2либоMono >=4.6 - Работающий интернет
Установка
Для упрощения миграции на ovm перед установкой рекомендуется удалить системный OneScript и выполнить выход из системы/вход в систему.
Windows
- Скачать
ovm.exeсо страницы страницы релизов GitHub - По желанию прописать путь к ovm.exe в переменной окружения
PATH
Linux
- Скачать
ovm.exeсо страницы страницы релизов GitHub - Для быстрого использования приложения можно создать sh-файл со следующим содержанием:
mono path/to/ovm.exe "$@"
и добавить его в $PATH (например, в ~/.local/share/bin)
Поддержка различных терминалов
Для каждого из терминалов активация ovm выглядит по-разному. После выполнения первичной активации в большинстве случаев необходимо переоткрыть текущий терминал (это надо сделать один раз). Для перечисленных ниже терминалов действия по активации происходят автоматически.
cmd (Windows)
При первичной активации версии OneScript при наличии системной установки OneScript:
создается запись в реестре по адресу HKCU\Software\Microsoft\Command Processor\Autorun следующего содержания:
set PATH=%OVM_OSCRIPTBIN%;%PATH%
powershell (Windows)
При первичной активации версии OneScript при наличии системной установки OneScript:
создается файл (либо добавляется в существующий) по адресу %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1 со следующим содержанием:
$env:PATH=$env:OVM_OSCRIPTBIN+";"+$env:PATH
sh (*nix)
При первичной активации версии OneScript:
создается файл (либо добавляется в существующий) по адресу $HOME/.profile со следующим содержанием:
export $HOME/.local/share/ovm/current/bin:$PATH
bash (*nix)
При первичной активации версии OneScript:
создается файл (либо добавляется в существующий) по адресу $HOME/.bashrc со следующим содержанием:
export $HOME/.local/share/ovm/current/bin:$PATH
Другие терминалы
Автоматическая активация ovm в других терминалах не гарантируется. Чаще всего она будет делаться по аналогии (в конфигурационных файлах), либо в настройках самого терминала.
Для ConEmu активация производится через Settings -> Startup -> Environment. В метод установки PATH необходимо добавить путь к %OVM_OSCRIPTBIN% перед текущим %PATH%. Например, set PATH=%OVM_OSCRIPTBIN%;%PATH%
Современные версии Cmder для Windows автоматически подхватывают переменные среды и переопределение автозапуска в реестре (см. Активация в cmd)
Использование
ovm - утилита командной строки, основанная на библиотеке cli. Утилита содержит несколько команд с различными аргументами и опциями. Каждая команда имеет длинное имя и короткий алиас. Каждый аргумент или опция могут быть установлены из переменных окружения либо указаны непосредственно в командной строке. Более подробно - в справке по библиотеке cli.
Установка OneScript
Установка OneScript производится в пользовательский каталог, не захламляя общее системное пространство.
ovm install dev # Установить последнюю ночную сборку
ovm install dev stable 1.0.19 # Установить стабильную, ночную сборки и версию 1.0.19
ovm use --install dev # Активировать ночную сборку и установить, если ее нет
Активация OneScript
Для запуска oscript и прочих утилит без указания путей к ним необходимо произвести активацию версии OneScript. При этом в каталоге данных ovm создастся специальная символическая ссылка current, ведущая на активированную версию.
ovm use dev # Активировать ранее установленную версию dev (ночную сборку)
ovm use --install dev # установить (если ее нет) и активировать версию dev
Удаление OneScript
ovm delete 1.0.19 # Удалить установленную версию 1.0.19
Вывод установленных версий OneScript
$ ovm ls # Вывод установленных версий
1.0.19 -> 1.0.19.105 (C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19)
current -> 1.0.20.160 (C:\Users\NikitaGryzlov\AppData\Local\ovm\current)
dev -> 1.0.20.160 (C:\Users\NikitaGryzlov\AppData\Local\ovm\dev)
$ ovm ls --remote # Вывод версий, доступных к установке с сайта
1.0.19 (http://oscript.io/downloads/archive/1_0_19)
1.0.18 (http://oscript.io/downloads/archive/1_0_18)
$ ovm ls --all # Вывод всех версий - установленных и доступных
1.0.18 -> 1.0.18.101 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.18 -> http://oscript.io/downloads/archive/1_0_18
1.0.19 -> 1.0.19.105 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19 -> http://oscript.io/downloads/archive/1_0_19
current -> 1.0.20.160 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\current -> unknown
dev -> 1.0.20.160 -> C:\Users\NikitaGryzlov\AppData\Local\ovm\dev -> http://oscript.io/downloads
stable -> unknown -> not installed -> http://oscript.io/downloads
Запуск приложений в окружении конкретной версии
ovm позволяет запускать приложения в окружении конкретной установленной версии OneScript. При этом происходит доустановка переменной окружения PATH к каталогу указанной версии.
$ ovm run 1.0.19 oscript -version # Выполнение команды oscript -version в окружении 1.0.19
1.0.19.105
$ ovm run 1.0.19 where oscript # Вывод сторонней команды where в окружении 1.0.19
C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19\bin\oscript.exe # Путь к 1.0.19 указывается раньше, чем путь к current, благодаря запуску ovm run
C:\Users\NikitaGryzlov\AppData\Local\ovm\current\bin\oscript.exe
Получение пути к исполняемому файлу oscript
$ ovm which 1.0.19
C:\Users\NikitaGryzlov\AppData\Local\ovm\1.0.19\bin\oscript.exe
Отладка скриптов, запускаемых через OVM, в VSCode
После первичной настройки OVM в каталоге вашего проекта нужно штатно настроить отладчик 1скрипт
Далее нужно добавить\изменить файл .vscode/launch.json
В разделе configurations файла нужно добавить\установить следующие строки
"windows": {
"runtimeExecutable": "${env:OVM_OSCRIPTBIN}\\oscript.exe"
},
"linux": {
"runtimeExecutable": "${env:OVM_OSCRIPTBIN}/oscript"
}
Конфигурирование ovm
ovm имеет несколько конфигурационных параметров, управляющих его поведением. Эти параметры можно задать с помощью команды config
Синтаксис команды
$ ovm config <имя параметра> <значение>
Настройка сайта с релизами
$ ovm config oscript.server https://internal.oscript.io
Настройка прокси-сервера
При работе за корпоративным прокси-сервером может потребоваться указание настроек прокси. Предусмотрены следующие параметры:
| Параметр | Возможное значение | Пояснение |
|---|---|---|
| proxy.use | true/false | Включение использования прокси. Если параметр не задан - прокси не используется |
| proxy.server | адрес прокси-сервера | Если параметр задан, то будут использованы ручные настройки прокси: имя сервера, порт, логин, пароль. Если параметр не задан, но задан proxy.use=true - используется системный прокси. |
| proxy.port | Порт прокси-сервера | используется только если задан proxy.server |
| proxy.user | Имя пользователя прокси-сервера | используется только если задан proxy.server |
| proxy.password | Пароль прокси-сервера | используется только если задан proxy.server |
| proxy.osAuthentication | true/false | Авторизация на прокси средствами ОС. Используется только если задан proxy.server |
Пример использования
# использование системного прокси
ovm config proxy.use true
# ручные настройки прокси
ovm config proxy.use true
ovm config proxy.server enterpise-proxy.server.lan
ovm config proxy.osAuthentication true
Вывод команды ovm
Приложение: ovm
OneScript Version Manager v1.0.0-RC14
Строка запуска: ovm [ОПЦИИ] КОМАНДА [аргументы...]
Опции:
-v, --version показать версию и выйти
Доступные команды:
install, i Установить OneScript указанных версий
use, u Использовать OneScript указанной версии
uninstall, delete, d Удалить OneScript указанных версий
list, ls Вывести список установленных и/или доступных версий OneScript
run, r Запустить исполняемый файл в окружении указанной версии OneScript
which, w Вывести путь к установленной версии OneScript
config Настройки ovm. Прокси, сервера и т.п.
Для вывода справки по доступным командам наберите: ovm КОМАНДА --help