【问题标题】:NODE JS - Forever starting path problemsNODE JS - 永远开始的路径问题
【发布时间】:2014-08-03 17:46:03
【问题描述】:

我有一个 server.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;
.....

重新启动时,我有一个 crontab,它应该会自动永远启动服务器:

@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

服务器启动正常..但是,如果我 从 /root/.forever/ 目录中运行 SAME 命令,服务器会给我以下错误:

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

所以每当我重新启动机器时,我都会收到该错误...这怎么可能?

【问题讨论】:

    标签: node.js forever


    【解决方案1】:

    iniparser.parseSync() 的参数与require() 等当前文件无关,而是与当前工作目录相关。使用:

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

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 2013-06-06
      • 2017-10-10
      • 1970-01-01
      • 2019-07-31
      • 2014-10-11
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多