Не находит конфиг при запуск через абсолютный путь
jhaoda opened this issue · comments
Запускаем из любого каталога, например, D:\projects\test:
D:\usr\nodejs\node.exe d:\usr\nodejs\node_modules\yaxy\index.js
Дефолтный конфиг не находится, потому что текущая директория это process.cwd()
, а она равна D:\projects\test
Сделал такой хак:
var configFile = args.config || 'yaxy-config.txt';
заменил на
var configFile = args.config || require('fs').realpathSync(__dirname + '/../yaxy-config.txt');
Непонятно. Дефолтный конфиг -- файл yaxy-config.txt в текущей директории, в данном случае это D:\projects\test\yaxy-config.txt. Т.е. запускать надо из той директории, где конфиг лежит, или передавать путь до конфига явно.
Я установил Yaxy как сервис через NSSM, ему нужны абсолютные пути. Получается, что текущая директория для Yaxy — каталог NSSM. Предлагаете туда положить конфиг? Нелогично. Указывать конфиг в параметрах тоже не хочется, потому как конфиг лежит в каталоге Yaxy и мне думается, что он должен уметь его подхватывать при любом способе запуска.
Предполагается, что конфиг как раз не лежит в каталоге с yaxy. Если мы делаем npm install yaxy -g, то в идеале мы даже не знаем, куда npm положил пакет, у нас просто появляется команда yaxy. А конфиг создаётся уже в своей рабочей директории.
Т.е. правильней всё-таки в настройке сервиса указать параметр с путём до конфига.