javascript - 无法在谷歌云计算实例上运行 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
很好地衡量)。
这里发生了什么?
解决方案
我的假设是,在第一个秘诀中,您执行登录意味着您的 .profile 和/或 .bashrc 脚本正在运行,这些脚本会修改您的 PATH 环境变量以包含您希望运行的命令的位置(pm2
)。在第二个秘籍中,您提供--command
我的假设是可执行文件正在被分叉/执行(直接运行),而您的配置文件脚本没有被执行。这导致找不到命令。也许尝试运行一个脚本(通过命令)来记录您的环境变量(例如/bin/env
),看看它们与您实际登录时发现的内容有何不同。
另一种解决方案是pm2
在您的命令中提供完整路径。
推荐阅读
- r - 所有数据点从低到高排序的 R 箱线图
- sql - 加入缺少某些值的表
- javascript - 使用 onclick 事件 javascript 触发 introjs
- performance - 将函数提升到顶层会导致编译时间增加三倍
- r - 更大数据集上的 Apriori 算法
- json - 使用 json rest api 进行角度登录身份验证
- flutter - 火库 | 为什么所有 where 过滤器都必须在同一个字段上?
- php - 使用 foreach 从返回数组函数中检索数据
- php - Laravel“根”路由变量
- wpf - WPF 将子控件的 ActualWidth 和 ActualHeight 传递给值转换器