【问题标题】:Calling npx from a node.js file从 node.js 文件调用 npx
【发布时间】:2021-12-19 16:32:47
【问题描述】:

我尝试过将exec 与 bash 文件一起使用,我尝试过使用直接调用,我尝试过深入研究 npm 和 npx 文档,但这个问题似乎没有答案:npx 调用如何从 node.js 代码触发?

触发与 npx 调用相同功能而不实际编写为 npx 调用的答案也是可以接受的。

【问题讨论】:

    标签: node.js npm npx


    【解决方案1】:

    我不太确定你的问题出在哪里......

    • 一般如何称呼npx 脚本?
    • 从节点内运行 shell 命令?
    • 专门运行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,现在一切正常。感谢您并为这个表述不当的问题道歉。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多