ovm
ovm copied to clipboard
OneScript Version Manager
Важно! Этот репозиторий устарел! Разработка и выпуск релизов ведется в репозитории
https://github.com/oscript-library/ovm
OneScript Version Manager
Цель
ovm - утилита, предназначенная для установки, обновления и переключения между различными версиями OneScript. Вдохновение черпается из nvm (node.js version manager)
Пререквизиты
- Установленный
.Net Framework >=4.5.2
либоMono >=4.6
- Работающий интернет
Установка
Для упрощения миграции на ovm перед установкой рекомендуется удалить системный OneScript и выполнить выход из системы/вход в систему.
Windows
- Скачать
ovm.exe
со страницы страницы релизов GitHub - По желанию прописать путь к ovm.exe в переменной окружения
PATH
Если на машине установлен OneScript из msi и/или путь к установленному OneScript прописан в PATH
, то перед началом использования ovm
необходимо один раз в консоли с административными правами выполнить команду ovm migrate
, после чего перезапустить консоль.
Linux
- Скачать
ovm.exe
со страницы страницы релизов GitHub - Для быстрого использования приложения можно создать sh-файл со следующим содержанием:
mono path/to/ovm.exe "$@"
и добавить его в $PATH
(например, в ~/.local/share/bin
)
Поддержка различных терминалов
Для каждого из терминалов активация ovm выглядит по-разному. После выполнения первичной активации в большинстве случаев необходимо переоткрыть текущий терминал (это надо сделать один раз). Для перечисленных ниже терминалов действия по активации происходят автоматически.
cmd (Windows)
При выполнении команды ovm migrate
(только при наличии системной установки OneScript):
создается запись в реестре по адресу HKCU\Software\Microsoft\Command Processor\Autorun
следующего содержания:
set PATH=%OVM_OSCRIPTBIN%;%PATH%
powershell (Windows)
При выполнении команды ovm migrate
(только при наличии системной установки OneScript):
создается файл (либо добавляется в существующий) по адресу %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1
со следующим содержанием:
set PATH=$OVM_OSCRIPTBIN;$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%
Использование
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
Приложение: ovm
OneScript Version Manager v1.0.0
Строка запуска: ovm [OPTIONS] КОМАНДА [аргументы...]
Опции:
-v, --version показать версию и выйти
Доступные команды:
install, i Установить OneScript указанных версий
use, u Использовать OneScript указанной версии
uninstall, delete, d Удалить OneScript указанных версий
list, ls Вывести список установленных и/или доступных версий OneScript
run, r Запустить исполняемый файл в окружении указанной версии OneScript
which, w Вывести путь к установленной версии OneScript
migrate Поместить установленный системный OneScript под контроль ovm. Только для Windows
Для вывода справки по доступным командам наберите: ovm КОМАНДА --help