Не удается запустить pm2 на экземпляре облачных вычислений Google - PullRequest
0 голосов
/ 11 июня 2019

Когда я бегу

gcloud compute ssh user@instance-1

А потом, когда я в ssh'd, я набираю pm2, и он выводит справочное сообщение, как и ожидалось.

Если я вместо этого запускаю

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

Распечатывает bash: pm2: command not found

Ранее я установил pm2 (запустив npm install -g pm2 в качестве пользователя root и user для правильной оценки).

Что здесь происходит?

1 Ответ

2 голосов
/ 11 июня 2019

Я предполагаю, что в первом рецепте вы выполняете вход в систему, что означает, что запускаются ваши сценарии .profile и / или .bashrc, которые изменяют переменную среды PATH, чтобы она включала расположение команды, которую вы хотите выполнить (pm2 ). Во втором рецепте, где вы указываете --command, я предполагаю, что исполняемый файл разветвляется / исполняется (запускается напрямую) без выполнения сценариев вашего профиля. Это приводит к тому, что команда не найдена. Может быть, попробуйте запустить скрипт (с помощью команды), который регистрирует переменные среды (например, /bin/env) и посмотрите, как они отличаются от того, что вы находите, когда вы на самом деле вошли в систему.

Другим решением было бы указать полный путь к pm2 в вашей команде.

...