iT邦幫忙

0

"npm command not found" Using ssh

前言

透過 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 參考 issues

Why 必須做這個 softlink ?(待捕)

Step 3 sudo apt-get install nodejs

  • 參考解法的nodejs-legacy Package nodejs-legacy is not available

Step 4 再測試一次, OK!


尚未有邦友留言

立即登入留言