OneScript на Windows и Linux: от загрузки движка до первых пакетов OPM
Содержание
Чтобы установить OneScript, скачайте дистрибутив с официального сайта проекта oscript.io, запустите установщик (Windows) или поставьте deb/rpm-пакет (Linux), затем откройте новое окно терминала и выполните oscript -version. Если команда вывела номер версии, движок готов, и можно ставить пакеты через opm install.
Обычно OScript нужен, когда 1С-нику надоедает руками собирать .cf, выгружать конфигурацию в Git или по ночам обновлять десяток баз. Скрипты на OneScript пишутся на том же встроенном языке, что и модули 1С, но запускаются без платформы и без лицензии. Ниже по порядку: установка, настройка путей, проверка и пакеты.
Что такое OneScript и какую версию движка выбрать
OneScript — открытый интерпретатор языка 1С, автономный от 1С:Предприятия. Он исполняет файлы .os, понимает русский и английский синтаксис, умеет работать с файлами, HTTP, JSON, XML, ZIP и COM (на Windows). Платформа 1С для работы самого движка не нужна.
Где он реально пригождается:
- 🔧 запуск
1cv8в пакетном режиме: обновление конфигураций, выгрузка.dt, сборка.cfи.cfe; - 📦 CI/CD для 1С: библиотеки vanessa-runner, gitsync, deployka работают поверх OneScript;
- 🗂 служебные скрипты администратора: ротация архивов, проверка свободного места, рассылка отчётов;
- 🧪 быстрые проверки кода на встроенном языке без запуска конфигуратора.
Две ветки движка
| Ветка | На чём работает | Когда выбирать |
|---|---|---|
| 1.x (стабильная) | .NET Framework 4.8 на Windows, Mono на Linux | Большинство пакетов из хаба протестированы на ней; вариант по умолчанию |
| 2.x | Современный кроссплатформенный .NET | Новые проекты, где нужна скорость и не нужен Mono; проверяйте совместимость пакетов |
Если ставите OneScript под vanessa-runner или gitsync, начните с последней стабильной версии ветки 1.x. Номер актуального релиза смотрите на странице загрузки oscript.io или в разделе Releases репозитория EvilBeaver/OneScript на GitHub.
Что подготовить заранее
- Права администратора на компьютере (для установщика и записи в PATH).
- На Windows — .NET Framework 4.8. В Windows 10 и 11 он обычно уже есть.
- На Linux для ветки 1.x — Mono из официального репозитория mono-project, а не устаревший пакет дистрибутива.
- Доступ в интернет к oscript.io и github.com, иначе OPM не скачает пакеты.
Установка OneScript на Windows
Есть три способа. Для рабочей станции разработчика хватает первого, для сервера сборки удобнее третий.
| Способ | Плюсы | Минусы |
|---|---|---|
Установщик .exe | Сам прописывает PATH и ставит OPM | Одна версия на машине |
| ZIP-архив | Без прав администратора, переносимый | PATH настраиваете вручную |
| OVM (менеджер версий) | Несколько версий рядом, быстрое переключение | Ещё одна утилита в цепочке |
Способ 1. Установщик
- Откройте oscript.io, раздел загрузки, и скачайте установщик стабильной версии.
- Запустите файл от имени администратора.
- Оставьте каталог по умолчанию. Для 1.x это обычно
C:\Program Files (x86)\OneScript. - Убедитесь, что отмечен пункт добавления движка в переменную PATH.
- Нажмите «Установить», дождитесь окончания.
- Закройте все открытые окна командной строки и PowerShell и откройте новое: старые окна не видят изменённый PATH.
Внутри каталога установки вы увидите папку bin с oscript.exe, opm.bat и файлом настроек oscript.cfg, и папку lib с предустановленными библиотеками.
Способ 2. ZIP без установщика
Скачайте архив той же версии, распакуйте, например, в D:\Tools\OneScript. Дальше пропишите путь к папке bin в PATH вручную, как описано в разделе про переменные окружения ниже. Способ подходит, если на машине нет прав администратора.
Способ 3. OVM для нескольких версий
OVM (OneScript Version Manager) скачивается отдельным ovm.exe из репозитория oscript-library/ovm на GitHub. Базовые команды:
ovm install stable
ovm use stable
ovm ls
Первая скачивает стабильную версию, вторая делает её текущей и прописывает в PATH, третья показывает, что установлено. Полный список ключей выводит ovm --help.
Как обновить уже установленный движок
Если OneScript ставили установщиком, новую версию той же ветки можно поставить поверх: запустите свежий .exe, каталог оставьте прежним. Перед этим сохраните копию oscript.cfg, если правили его вручную, и выпишите список глобальных пакетов из папки lib. После обновления выполните oscript -version и прогоните пару рабочих скриптов на тестовых данных, прежде чем отдавать движок в ночные задания.
На сервере сборки OVM удобен тем, что можно держать 1.x для старых пайплайнов и 2.x для новых, не ломая ни те, ни другие.
Установка OneScript в Linux
На Linux ветка 1.x работает через Mono, поэтому порядок такой: сначала Mono, потом сам движок.
Ubuntu и Debian
- Подключите репозиторий mono-project по инструкции с их сайта для вашей версии дистрибутива.
- Поставьте Mono:
sudo apt update
sudo apt install mono-complete
- Скачайте deb-пакет OneScript со страницы загрузки oscript.io.
- Установите его:
sudo dpkg -i onescript-engine_*.deb
sudo apt -f install
Вторая команда дотягивает зависимости, если dpkg на них пожаловался.
Fedora, CentOS, РЕД ОС, Alt
Для RPM-дистрибутивов на странице загрузки есть rpm-пакет. Порядок тот же: Mono из репозитория mono-project, потом sudo rpm -i или sudo dnf install по скачанному файлу. На Astra Linux и Alt обычно используют deb/rpm соответственно, но Mono из штатного репозитория там бывает старым: проверяйте mono --version.
После установки пакета в системе появляются команды oscript и opm. Сам движок и библиотеки лежат в /usr/share/oscript.
Ветке 2.x Mono не нужен, ей нужен .NET Runtime. Не ставьте Mono «на всякий случай» под 2.x и не пытайтесь запускать 1.x под голым .NET: это разные сборки.
Переменные окружения, PATH и oscript.cfg
Половина вопросов «не запускается» решается здесь.
PATH на Windows
- Нажмите Win+R, введите
sysdm.cpl, перейдите на вкладку «Дополнительно». - Кнопка «Переменные среды».
- В системных переменных выберите
Path→ «Изменить» → «Создать». - Вставьте путь к папке
bin, напримерC:\Program Files (x86)\OneScript\bin. - Сохраните и откройте новое окно терминала.
Проверка:
where oscript
Если путей несколько, срабатывает первый. Так «старая» версия перехватывает вызов у «новой».
PATH на Linux
Пакет сам кладёт обёртки в /usr/bin. Если ставили вручную в домашний каталог, добавьте строку в ~/.bashrc:
export PATH="$HOME/oscript/bin:$PATH"
Затем source ~/.bashrc.
Файл oscript.cfg
Рядом с oscript.exe лежит oscript.cfg. Главные параметры:
lib.system— каталог системных библиотек (по умолчанию папкаlibустановки);lib.additional— дополнительные каталоги библиотек через точку с запятой.
Пример добавления своей папки с библиотеками команды:
lib.system=C:\Program Files (x86)\OneScript\lib
lib.additional=D:\Projects\shared-libs
Параметры можно переопределить без правки файла: переменная окружения OSCRIPT_CONFIG принимает те же пары ключ=значение через точку с запятой. Это удобно в CI, где каталог установки только для чтения.
Если скрипту нужны локальные пакеты проекта, их ищут в папке oscript_modules рядом со скриптом. Её создаёт opm install -l, о ней ниже.
Проверка работоспособности и первый скрипт
Сначала версия:
oscript -version
Затем создайте файл hello.os в кодировке UTF-8:
Сообщить("OneScript работает. Сейчас: " + Формат(ТекущаяДата(), "ДФ='dd.MM.yyyy HH:mm'"));
Для Сч = 1 По 3 Цикл
Сообщить(СтрШаблон("Строка %1", Сч));
КонецЦикла;
Запуск:
oscript hello.os
Ожидаемый результат: строка с текущей датой и три строки «Строка 1…3».
Пара полезных ключей запуска:
oscriptбез параметров выводит справку по всем ключам;oscript -make hello.os hello.exeсобирает скрипт в самостоятельный exe (на машине всё равно нужен .NET Framework).
Проверка связки с 1С
Типичный первый «боевой» скрипт — пакетный запуск конфигуратора. Пример выгрузки информационной базы в .dt:
ПутьКПлатформе = "C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe";
Параметры = СтрШаблон("DESIGNER /F""%1"" /N""%2"" /P""%3"" /DumpIB""%4"" /Out""%5""",
"D:\Bases\Buh", "Администратор", "", "D:\Backup\buh.dt", "D:\Backup\log.txt");
КодВозврата = 0;
ЗапуститьПриложение("""" + ПутьКПлатформе + """ " + Параметры, , Истина, КодВозврата);
Сообщить("Код возврата: " + Формат(КодВозврата, "ЧН=0; ЧГ=0"));
Номер платформы в пути подставьте свой. Код 0 означает успешную выгрузку, подробности — в файле log.txt.
Выгрузка /DumpIB требует, чтобы в базе не было других пользователей. Запускайте её вне рабочего времени или предупредите коллег: незавершённые сеансы помешают выгрузке.
На Windows из OneScript доступно и COM-соединение с базой через Новый COMОбъект("V83.COMConnector"), если на машине зарегистрирован comcntr.dll нужной разрядности.
Пакеты OneScript: установка и обновление через OPM
OPM (OneScript Package Manager) ставится вместе с движком. Пакеты лежат в хабе hub.oscript.io и в репозиториях организации oscript-library на GitHub.
Основные команды OPM
| Команда | Что делает |
|---|---|
opm install vanessa-runner | Ставит пакет глобально, в lib движка |
opm install -l json | Ставит пакет локально, в oscript_modules текущего каталога |
opm install -f D:\dist\gitsync.ospx | Ставит пакет из файла, без интернета |
opm update vanessa-runner | Обновляет пакет до последней версии |
opm update -all | Обновляет все установленные пакеты |
opm help | Список команд и ключей |
Глобально или локально
Глобальная установка удобна для утилит командной строки: после opm install vanessa-runner в терминале появляется команда vrunner. Локальная нужна для проектов: версии библиотек фиксируются в репозитории, и сборка на сервере не сломается от чужого обновления.
Подключение библиотеки в скрипте:
#Использовать json
Парсер = Новый ПарсерJSON;
Данные = Парсер.ПрочитатьJSON("{""ok"": true}");
Сообщить(Данные["ok"]);
Директива #Использовать ищет библиотеку сначала в oscript_modules рядом со скриптом, затем в каталогах из oscript.cfg.
Пакеты, которые ставят первыми
- 🚀
vanessa-runner— обёртка над1cv8для обновления, сборки, тестов; - 🔁
gitsync— синхронизация хранилища конфигурации с Git; - 🧩
v8runner— библиотека пакетного запуска конфигуратора из своих скриптов; - 🧾
logos— логирование; - ⌨️
cmdline— разбор параметров командной строки для своих утилит.
На глобальную установку в C:\Program Files (x86) нужны права администратора. Если opm install падает с отказом в доступе, запустите терминал от имени администратора или ставьте пакет локально.
Ошибки при установке и запуске: что проверить
where oscript, при необходимости добавьте путь вручную.mono-complete из репозитория mono-project и повторите запуск.chcp 65001 перед запуском или используйте Windows Terminal..os в UTF-8.lib текущей версии (where oscript покажет, какая запускается) и oscript_modules проекта..ospx на другой машине и поставьте через opm install -f.Ещё одна частая история: после обновления движка перестал работать vrunner. Глобальные пакеты лежат в lib конкретной версии, и при переходе на новую версию через OVM их нужно поставить заново.
Частые вопросы
Нужна ли лицензия 1С, чтобы запускать скрипты OneScript?
Можно ли выполнить в OneScript код из модуля конфигурации?
Где писать скрипты удобнее всего?
.os через расширение OneScript Debug.Как запустить скрипт по расписанию?
oscript.exe D:\scripts\backup.os, на Linux — через cron. Указывайте полный путь к oscript, у планировщика свой PATH.Как удалить OneScript полностью?
bin ушёл из PATH. На Linux — sudo apt remove onescript-engine. Локальные oscript_modules в проектах удаляются вручную.