【发布时间】:2021-12-19 16:32:47
【问题描述】:
我尝试过将exec 与 bash 文件一起使用,我尝试过使用直接调用,我尝试过深入研究 npm 和 npx 文档,但这个问题似乎没有答案:npx 调用如何从 node.js 代码触发?
触发与 npx 调用相同功能而不实际编写为 npx 调用的答案也是可以接受的。
【问题讨论】:
我尝试过将exec 与 bash 文件一起使用,我尝试过使用直接调用,我尝试过深入研究 npm 和 npx 文档,但这个问题似乎没有答案:npx 调用如何从 node.js 代码触发?
触发与 npx 调用相同功能而不实际编写为 npx 调用的答案也是可以接受的。
【问题讨论】:
我不太确定你的问题出在哪里......
npx 脚本?npx 命令?您遇到错误了吗?最普遍的运行 shell 命令的方法是child_process,我不知道你为什么不能在里面放一个npx 命令(我刚刚用npx --help 测试了它,并且成功了) :
const { exec } = require("child_process");
exec("echo Hello World", (err, stdout, stderr) => {
if (err) {
console.error();
console.error("Error:");
console.error(err);
console.error();
}
console.log(stdout);
console.error(stderr);
});
现在,这可能就是您所说的“尝试使用exec”的意思,而您这样做只会出错。当然,在这种情况下出现该错误会有所帮助,但可能是找不到npx。
确保你已经安装了 npx - 也许它只是 npms 无法访问它的虚拟环境,所以你可以使用 npm install npx 将它安装到那里。如果您使用npm 运行它,请确保它已全局安装:npm install -g npx。
如果是其他问题,请提供更多信息,说明您究竟缺少什么或遇到的潜在错误。
【讨论】:
child_process 不能调用 npx 命令。我认为引擎盖下发生了某种魔法,我太不了解了,无法理解。您的回答有助于说明问题是微不足道的。我已经重新安装了 npm,现在一切正常。感谢您并为这个表述不当的问题道歉。