[英]npm command not found when running node app from bash script (linux EC2)
我在 linux AMI EC2 實例上有一個節點應用程序,我想用 systemd 運行它。 我已經用 npm start 命令編寫了一個 bash 腳本,但是當我用 systemd 運行它時,日志告訴我找不到 npm 命令:
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal systemd[1]: Started NodeApp.
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal systemd[1]: Starting NodeApp...
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal start.sh[9609]: /home/ec2-user/source/NodeApp/start.sh: line 8: npm: command not found
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal systemd[1]: NodeApp.service: main process exited, code=exited, status=127/n/a
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal systemd[1]: Unit NodeApp.service entered failed state.
Nov 03 21:22:45 ip-10-85-147-43.ec2.internal systemd[1]: NodeApp.service failed.
當我運行 npm -v 時,它顯示 7.4.0。
這是我的 bash 腳本:
#! /bin/bash
cd home/ec2-user/source/NodeApp/
npm start
以及 NodeApp.service 的內容
[Unit]
Description= Node app
[Service]
ExecStart=/home/ec2-user/source/NodeApp/start.sh
[Install]
WantedBy=multi-user.target
嗨,使用名為 PM2 的進程管理工具可以輕松運行節點應用程序,您可以使用終端控制台將 PM2 直接安裝到 Ec2 並運行位於 soucefolder/bin 中的 www 文件
安裝 PM2: npm install pm2 -g
或pm2 completion install
運行 PM2 : cd /source_folder/bin
並找到 www 文件
pm2 start www --name="Application Name"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.