oscript-library/deployka

Не найден путь к платформе 8.3

Tur8008 opened this issue · 22 comments

Добрый день. Спасибо за Ваш труд, очень интересно. Разбираюсь с деплойкой и сразу возникла проблема.
Ввожу с командной строки:
deployka session lock -db accbit

Получаю:
КРИТИЧНАЯОШИБКА - {Модуль C:\Program Files (x86)\OneScript\lib\v8runner\src\v8runner.os / Ошибка в строке: 534 /
Не найден путь к платформе 1С <8.3>}

Каким образом скрипт определяет рабочий каталог платформы? Платформа находится C:\Program Files (x86)\1cv8\

Спасибо!

По умолчанию ищет как раз в этом каталоге. Проверьте, что в 1cv8 нет пустых каталогов-версий. Могли остаться после удаления платформы.

Пустых каталогов нет. В одном из каталогов, кстати в максимальной версии, установлен тонкий клиент, соответственно файл 1cv8.exe отсутствует, но судя по коду скрипта в этом случае должно вызываться исключение "Файл 1сv8.exe не существует!". Здесь мы видим нечто иное.

Ну вот оно и не работает. Установите полноценную платформу или используйте ключ с другой версией

Андрей я еще до обращения сюда пробовал указывать различные маски версии платформы. Результат неизменный. На рабочем ноутбуке была такая же ситуация, но и исключение было другое. Я писал выше. Сейчас поставил специально полную платформу максимальной версией, не работает.

Ну тогда только могу посоветовать расставить отладочных сообщений в коде и выяснить что происходит

Что и делаю:)

Все это происходит на боевом терминальном сервере под Win Server 2012R2, поэтому разбираться придется иначе не запустить. А хочется:)

@Tur8008 мы используем v8runner и её вспомогательные функции

https://github.com/oscript-library/v8runner#Вспомогательные-и-настроечные-функции

Собственно код вызова https://github.com/oscript-library/deployka/blob/master/src/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9.os#L16

отсюда и появляется вызов

Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды,

в итоге параметр запуска который необходимо указать -v8version

суть в том - что Конфигуратор, это как бы толстый клиент. Поэтому нужен 1cv8.exe

Алексей, это как раз понятно. Я указываю параметр -v8version. Только результат от этого не меняется. Когда v8runner не находит файл 1cv8.exe возникает другое исключение, что -то вроде файл не существует. Я это видел на своем ноутбуке. Здесь же странное происходит. Версия платформы определяется, а ее рабочий каталог нет.

@Tur8008 тут такое дело - я обычно делаю хитро

беру создаю простой скрипт finder.os

#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();
Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner");
Лог.УстановитьУровень(УровниЛога.Отладка);
Конфигуратор.ПолучитьПутьКВерсииПлатформы("8.3.9");

и дальше начинаю изучать что покажет команда oscript finder.os
там в лог выводится вот место в коде

C:\Users\Администратор\Documents> oscript finder.os
ОТЛАДКА - Читаю конфигурационный файл C:\ProgramData\1C\1CEStart\1CEStart.cfg.
ОТЛАДКА - Читаю конфигурационный файл C:\Users\a.ivanov\AppData\Roaming\1C\1CEStart\1CEStart.cfg.
ОТЛАДКА - C:\Program Files (x86)\1cv8
ОТЛАДКА - C:\Program Files (x86)\1cv82
ОТЛАДКА - Выполняю попытку поиска версии в каталоге C:\Program Files (x86)\1cv8
ОТЛАДКА - Выполняю попытку поиска версии в каталоге C:\Program Files (x86)\1cv82
ОТЛАДКА - Не найдено ни одного каталога с версией.`

Круто, да:)

@Tur8008 а давайка версии проверим ;-) oscript

Я только сегодня 15-ю поставил

1.0.15.260

@Tur8008 смотрю Blame https://github.com/oscript-library/v8runner/blame/24ab09de76a8a44484355ff4f22fc1e9c73a74d7/src/v8runner.os#L495

Вижу что было изменение oscript-library/v8runner#3

Есть предположение, что поломался именно v8runner

Так - все еще интересней oscript-library/v8runner#5

Вижу:) Пока у себя захардкодил это место - которое исключение вызывает и вставил туда путь к платформе
Если НужныйПуть = Неопределено Тогда НужныйПуть = Новый Файл("C:\Program Files (x86)\1cv8\8.3.9.1818\bin\1cv8.exe"); //ВызватьИсключение "Не найден путь к платформе 1С <"+ВерсияПлатформы+">"; КонецЕсли;

Работает, по крайней мере прорвался дальше.

PS C:\Users\Администратор\Documents> deployka session lock -db accbit
ОТЛАДКА - Действие = lock
ОТЛАДКА - -db = accbit
ОТЛАДКА - Используемый путь для поиска rac C:\Program Files (x86)\1cv8\8.3.9.1818\bin\1cv8.exe
ОТЛАДКА - C:\Program Files (x86)\1cv8\8.3.9.1818\bin
ОШИБКА - Не указан клиент администрирования
PS C:\Users\Администратор\Documents>

"ОШИБКА - Не указан клиент администрирования" - deployka не может rac найти? Это где должно находиться? Меня смущает путь для поиска равный пути к файлу 1cv8.exe.

Починил, сделал PR в v8runner. Алексей спасибо за пример с finder.os, я хоть понял как это дебажить:)