前言
透过 Github Action 执行 ssh 指令到 GCP 上的 VM , yml档内容为:run: ssh xxx@xxx.xxx.xxx.xxx "git pull;npm install"
时,出现找不到指令的错误。不过手动 ssh 连线过去下指令是可以的!
解决步骤
Step 1 which npm
了解 npm 的位置为 /home/sarahcheng/.nvm/versions/node/v10.15.3/bin/npm install
测试若将指令加上绝对路径,是否就可以找到 run: ssh xxx@xxx.xxx.xxx.xxx "git pull;/home/sarahcheng/.nvm/versions/node/v10.15.3/bin/npm install"
结果竟然出现错误:
/usr/bin/env: ‘node’: No such file or directory
找不到 node !?
Step 2 ln -s /usr/bin/nodejs /usr/bin/node
或 ln -s "which nodejs" /usr/bin/node
将 node 连结到 nodejs 参考 issuesWhy 必须做这个 softlink ?(待捕)
Step 3 sudo apt-get install nodejs
参考解法的nodejs-legacy
Package nodejs-legacy is not available