簡體   English   中英

從bash腳本(linux EC2)運行節點應用程序時找不到npm命令

[英]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 -gpm2 completion install

運行 PM2 : cd /source_folder/bin並找到 www 文件

pm2 start www --name="Application Name"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM