首页 > 解决方案 > 无法在谷歌云计算实例上运行 pm2

问题描述

当我跑

gcloud compute ssh user@instance-1

然后,当我进入 ssh 时,我输入pm2并打印出一条帮助消息,正如预期的那样。

如果我改为运行

gcloud compute ssh user@instance-1 --command "pm2"

它打印出来bash: pm2: command not found

我以前安装过pm2(通过npm install -g pm2同时以 root 用户身份运行并user很好地衡量)。

这里发生了什么?

标签: javascriptsshgoogle-cloud-platformgoogle-compute-enginegcloud

解决方案


我的假设是,在第一个秘诀中,您执行登录意味着您的 .profile 和/或 .bashrc 脚本正在运行,这些脚本会修改您的 PATH 环境变量以包含您希望运行的命令的位置(pm2)。在第二个秘籍中,您提供--command我的假设是可执行文件正在被分叉/执行(直接运行),而您的配置文件脚本没有被执行。这导致找不到命令。也许尝试运行一个脚本(通过命令)来记录您的环境变量(例如/bin/env),看看它们与您实际登录时发现的内容有何不同。

另一种解决方案是pm2在您的命令中提供完整路径。


推荐阅读