2014-06-13 3 views
1

У меня есть server.js файл определяется следующим образом:УЗЕЛ JS - Навсегда проблемы запуска пути

var iniparser = require('iniparser'); 
    var inihost; 
    var inidbuser; 
    var inidbpass; 
    var inidbname; 


    var config = iniparser.parseSync('../setup_db/config.ini'); 
      inihost = config.db_hostname; 
      inidbuser=config.db_username; 
      inidbpass=config.db_password; 
      inidbname=config.db_name; 
..... 

при перезагрузке у меня есть кронтаб, который должен автоматически навсегда запускает сервер:

@reboot /usr/bin/sudo /usr/local/bin/forever start /var/www/html/rubrica/chat/server.js 

Интересно если я запустил сервер из любой директории с полным путем, как:

forever start /var/www/html/rubrica/chat/server.js 

сервер начинается просто отлично .. в Однако, я выполнить эту же команду из withtin в /root/.forever/ каталога сервер дает мне следующую ошибку:

ENOENT, no such file or directory '../setup_db/config.ini' 

Поэтому, когда я перезагрузить машину я получаю эту ошибку ... как такое возможно?

ответ

2

Аргумент iniparser.parseSync() не относится к текущему файлу, например require(), а скорее к текущему рабочему каталогу. Использование:

var path = require('path'); 
var config = iniparser.parseSync(path.join(__dirname, '../setup_db/config.ini')); 
+0

безупречный! Спасибо –

Смежные вопросы