永远使用 nodemon(命令行)

Posted

技术标签:

【中文标题】永远使用 nodemon(命令行)【英文标题】:forever with nodemon (command line) 【发布时间】:2016-11-21 19:39:54 【问题描述】:

我正在尝试永远使用 nodemon。

我对 nodemon 没有任何问题:

nodemon --exitcrash node/index.js -- "user/verbs/config"

但是,按照nodemon FAQ 中的说明,并根据https://***.com/a/20306929/271577 的评论在“nodemon --exitcrash”周围加上引号(以避免永远认为参数“user/verbs/config”是文件) 产生:

forever start --minUptime 1000 --spinSleepTime 1000 --killSignal=SIGTERM -c "nodemon --exitcrash" node/index.js -- "user/verbs/config"

...我收到消息

信息:永远处理文件:node/index.js

并且脚本没有继续。运行 forever list 显示“没有永远运行的进程”。

(注意:我最终希望这与 forever-monitor 一起使用,但我认为上面需要先使用。)

我有什么遗漏吗?

【问题讨论】:

我不知道所涉及的具体工具,但您应该注意,在您的第二个命令中,forever 接收-- "user/verbs/config" 作为参数,而不是nodemon,就像在您的第一个命令中一样. Hmm..由于 nodemon 应该将 ` -- ` 之后的任何内容传递到脚本上(即,在这种情况下为“node/index.js”),我知道我会怎么做这样做? 我明白了,所以我可能错了,因为听起来foreverSCRIPT 参数后面的任何内容传递给后者。从forever 的帮助中不明显的一件事:-c 真的接受命令 line (可执行文件+选项)而不是仅仅命令 name (name/可执行文件的路径)?如果只是后者,您可能必须编写一个可执行的包装器 shell 脚本来包装 nodemon --exitcrash 调用。 你在 Windows 上尝试这个绝对值得一提;传递给-c 的包装脚本应该是一个.cmd (.bat) 文件,其中硬编码了--exitrcrash"user/verbs/config",并将.js 文件作为参数传递,尽管您将必须测试forever 是否能够直接调用批处理文件。 很抱歉听到这个消息 - 祝你好运。 【参考方案1】:
forever -c "nodemon --exitcrash" app.js

这确保nodemon 实际退出(而不是给您“应用程序崩溃”消息),然后forever 再次选择它。

forever --help 中,-c 指定要运行的命令,否则默认节点。没有 -c 会导致 cmets 中提到的错误。

Source

【讨论】:

以上是关于永远使用 nodemon(命令行)的主要内容,如果未能解决你的问题,请参考以下文章

nodemon,主管,永远都给出不同的错误,有啥建议吗?

Nodemon 不使用 express 开发新项目

Nodemon +永远不会检测到文件的更改

如何调试通过命令行 (cli) 启动的节点应用程序,例如永远或主管?

报错:‘nodemon‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

Erlang:从命令行调用 erl -eval 永远不会退出