.execSync没有输出,但是从终端运行命令时返回结果

时间:2018-12-09 18:33:04

标签: javascript node.js ecmascript-6 child-process

更新-

以下是我正在节点中运行的代码段,该代码段未从.execSync输出任何内容,但是如果我在终端中运行相同的命令,则将按预期方式将结果作为JSON。

代码-

console.log(`test-package is installed 1 =========>>>>>>>`)
require('child_process').execSync('npm ls test-package --json', function (err, stdout, stderr) {
        if (err) return console.log(err)
        console.log(stdout)
        return true
})
console.log(`test-package is installed 2=========>>>>>>>`)
} else {
console.log(`test-package is not installed ++++++++++++++++>>>>>>>>>`)
}

代码输出-

test-package is installed 1=========>>>>>>>
test-package is installed 2=========>>>>>>>

但是如果我运行命令-

  

npm ls测试包-

它返回类似这样的内容-

{
  "name": "test-project",
  "version": "0.1.1",
  "dependencies": {
    "test-package": {
      "version": "1.5.0"
    }
  }
}

让我知道我在这里做错了。

0 个答案:

没有答案