我在 azure linux 上托管了一个 nodejs 应用程序。现在,我正在尝试从我的机器运行命令来调用 node js cli 命令。我正在寻找能够从服务器上的本地机器运行脚本的能力。
我正在努力
az vm run-command invoke -g xxx -n yyy --command-id RunShellScript --scripts “NODE_ENV_VAR_LIST node dist/app.js arg1 “
输出,它说配置成功但运行时抛出错误
"Enable succeeded: \n[stdout]\n\n[stderr]\nmodule.js:549\n throw err;\n ^\n\nError: Cannot find module '/var/lib//run-command/download/2/dist/app.js'\n at Function.Module._resolveFilename (module.js:547:15)\n at Function.Module._load (module.js:474:25)\n at Function.Module.runMain (module.js:693:10)\n at startup (bootstrap_node.js:188:16)\n at bootstrap_node.js:609:3\n",
感谢任何帮助?
答案 0 :(得分:1)
我认为错误提供了足够的信息。我们再分析一下。成功表示脚本NODE_ENV_VAR_LIST node dist/app.js arg1
在虚拟机中执行完毕,如果不成功则表示虚拟机没有执行该命令。
后面的错误是关于命令的,这意味着命令本身有问题。问题也很明显,您使用相对路径并导致问题。您需要在命令中使用应用程序文件的绝对路径。