【问题标题】:child_process working directorychild_process 工作目录
【发布时间】:2014-12-08 04:54:02
【问题描述】:

我正在尝试在不同的目录中执行子进程,然后是其父目录。

var script = "drush language-add cn";
var folderDrush = "/data/www/sites/site_cn_country";
exec(script, {cwd:folderDrush} , function (err, stdout, stderr) {
    if(err) {
        sendErr("drush", stderr);
        sendCommand(script);
        sendCheck("drush", false);
    }
});

此脚本返回:

找不到 drush 命令“language-add cs”。如果您安装了新的扩展,请运行drush [31;40m[1m[error][0m cache-clear drush 以清除命令文件缓存。

但是当我手动执行时,drush language-add 工作正常。

我也测试那里的命令:

  • pwd : /data/www/sites/site_cn_country
  • id -u -n : root
  • ll : Command not found (why ? manually work...)
  • echo $SHELL : /bin/bash

【问题讨论】:

    标签: node.js bash child-process drush


    【解决方案1】:

    这不是一个直接的答案,但您可以在运行命令之前更改路径:

    var script = "cd /data/www/sites/site_cn_country && drush language-add cn";
    

    【讨论】:

    • 同样的错误:找不到 drush 命令 'language-add cs'。如果您安装了新的扩展,请运行drush [31;40m[1m[error][0m cache-clear drush 以清除命令文件缓存。
    猜你喜欢
    • 2013-09-24
    • 2011-11-03
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 2012-07-22
    • 2015-02-14
    相关资源
    最近更新 更多