如何永久使用npm服务?

时间:2019-03-30 02:17:26

标签: node.js forever shipitjs

我的最终目标是使用Shipit自动化我的开发。我可以将代码正确放置在服务器上,但是无法获取命令NODE_ENV=production forever start -c 'npm run serve'才能正确执行。当我尝试在服务器上本地运行它时,这是我得到的响应(帮助输出)。我需要运行npm serve,因为它运行以下内容:"serve": "gulp build && npm-run-all --parallel gulp-watch jekyll-serve"。我的项目是Tabler的分支。

root@server:/var/www/server# cd /var/www/server/current/front-end/ && NODE_ENV=production forever start -c 'npm run serve'
help:    usage: forever [action] [options] SCRIPT [script-options]
help:    
help:    Monitors the script specified in the current process or as a daemon
help:    
help:    actions:
...
...

2 个答案:

答案 0 :(得分:0)

如果永远无法使用,则可以使用另一个选项,为使脚本文件始终在后台运行,可以使用

  

PM2 npm

请参阅此https://www.npmjs.com/package/pm2

或 第二种选择是您可以使用

  

tmux

您可以使用它,它允许您运行npm服务,就像在本地系统上运行一样,并提供以下链接

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-tmux-on-ubuntu-12-10--2

答案 1 :(得分:0)

您需要为要提供服务的文件夹指定绝对路径,还需要使用which来获取命令的绝对路径。

我使用npx来运行服务而不是安装它,它的工作方式如下:

forever start $(which npx) serve -l 80 -s /home/user/folder/build/