【问题标题】:Launch grunt serve with PM2使用 PM2 启动 grunt serve
【发布时间】:2023-03-10 20:28:01
【问题描述】:

有没有办法使用 PM2 运行 grunt serve? 这样我就可以将我的环境设置为在我的计算机启动时自动启动。

我发现了类似的东西:

cd /path/to/project/
pm2 start grunt --name website -- serve

但这似乎不起作用。查看pm2 logs 时出现以下错误:

PM2: 2015-10-19 18:23:44: Script C:\Users\...\AppData\Roaming\npm\grunt had too many unstable restarts (15). Stopped. "errored"

grunt-0 (err):     at Module._compile (module.js:413:25)
grunt-0 (err):     at Object.Module._extensions..js (module.js:452:10)
grunt-0 (err):     at Module.load (module.js:355:32)
grunt-0 (err):     at Function.Module._load (module.js:310:12)
grunt-0 (err):     at Function._load (C:\Users\cltessie\AppData\Roaming\npm\node_modules\pm2\node_modules\pmx\lib\transaction.js:62:21)
grunt-0 (err):     at Object.<anonymous> (C:\Users\cltessie\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:28:21)
grunt-0 (err):     at Module._compile (module.js:434:26)
grunt-0 (err):     at Object.Module._extensions..js (module.js:452:10)
grunt-0 (err):     at Module.load (module.js:355:32)
grunt-0 (err): SyntaxError: Unexpected token case
grunt-0 (err):     at exports.runInThisContext (vm.js:53:16)
grunt-0 (err):     at Module._compile (module.js:413:25)
grunt-0 (err):     at Object.Module._extensions..js (module.js:452:10)
grunt-0 (err):     at Module.load (module.js:355:32)
grunt-0 (err):     at Function.Module._load (module.js:310:12)
grunt-0 (err):     at Function._load (C:\Users\cltessie\AppData\Roaming\npm\node_modules\pm2\node_modules\pmx\lib\transaction.js:62:21)
grunt-0 (err):     at Object.<anonymous> (C:\Users\cltessie\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:28:21)
grunt-0 (err):     at Module._compile (module.js:434:26)
grunt-0 (err):     at Object.Module._extensions..js (module.js:452:10)
grunt-0 (err):     at Module.load (module.js:355:32)

【问题讨论】:

  • 你有没有找到用 grunt 运行 pm2 的解决方案

标签: gruntjs startup pm2 serve


【解决方案1】:

单独运行 pm2 start grunt 对我有用,但仍然无法解释原因

【讨论】:

    【解决方案2】:

    嘿,这对我有用。

    cd /path/to/project/
    pm2 start node_module/grunt/bin/grunt --name website -- serve
    

    解释:PM2 启动后会尝试执行文件,并会在本地路径中查找。我认为 grunt 是指 grunt 的全局安装。但是node_module/grunt/bin/grunt在PM2的范围内,所以可以运行这个文件。

    我只将它用于本地开发,我不推荐将此解决方案用于生产,但在本地运行您的应用程序并检查 pm2.0 中的日志会很有帮助。此外,如果您在同一 pm2 实例中运行后端服务,并在执行“pm2 日志”时针对此堆栈测试某些内容,您可以按顺序查看所有服务的整个执行跟踪。即使您有 Kibana 或 splunk 之类的集中式日志记录解决方案,这也非常困难,因为网络延迟总是会扰乱日志条目的顺序。

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 2013-12-09
      • 2015-05-19
      • 1970-01-01
      • 2015-07-28
      • 2014-08-29
      • 1970-01-01
      • 2014-09-20
      • 2016-01-23
      相关资源
      最近更新 更多