我正在尝试自动部署项目并且 npm 命令运行完美,但是当它进入 pm2 重新启动特定项目的行时,操作将失败。
GitHub 操作错误:
GitHub Action .yml 文件内容:
我正在尝试自动部署项目并且 npm 命令运行完美,但是当它进入 pm2 重新启动特定项目的行时,操作将失败。
GitHub 操作错误:
GitHub Action .yml 文件内容:
我遇到了同样的问题。所以基本上,pm2
是没有安装的。我发现它有点奇怪,因为在我的 VPS 中,pm2 已安装并且运行良好。我解决它的方法是在我的项目的根目录中创建一个 bash 脚本:pm2_runner.sh
,在这个文件中我添加了:
#!/bin/bash
if ! type pm2 > /dev/null
then
sudo npm install -g pm2 && pm2 start ./app.js --name my_project_name
else
pm2 restart my_project_name
fi
然后在我的 .yml 文件里面.github/workflow/
,而不是写:
- run: pm2 restart my_project_name
我补充说:
- run: chmod +x ./pm2_runner.sh
- run: bash ./pm2_runner.sh
它pm2
全局安装而无需请求 sudo passord,因为 github 操作中的 sudo 使用无密码运行。
lo que pasa es que seguro instalaste todo por NVM lo cual no esta mal, pero para que puedas utilizar pm2 dentro del action de github, lo que tienes que realizar es。
sudo ln -s "$NVM_DIR/versions/node/$(nvm 版本)/bin/node" "/usr/local/bin/node"
sudo ln -s "$NVM_DIR/versions/node/$(nvm 版本)/bin/npm" "/usr/local/bin/npm"
sudo ln -s "$NVM_DIR/versions/node/$(nvm 版本)/bin/pm2" "/usr/local/bin/pm2"
despues de la intalacion para que asi puedas utilizar con sudo el pm2 y de esa forma te funcionara sin problemas