【问题标题】:NodeJS server doesn't start with pm2NodeJS 服务器不以 pm2 开头
【发布时间】:2019-07-13 00:06:18
【问题描述】:

当我尝试使用 pm2 启动我的 nodeJS 服务器时,它会停止或返回错误。

这里是相关的 package.json 文件:

"scripts": {
"start": "nodemon --watch '**/*.ts' --exec ts-node index.ts",
"bundle-colyseus-client": "browserify ./node_modules/colyseus.js/lib/index.js -s Colyseus -o static/colyseus.js",
"build": "npm run bundle-colyseus-client",
"heroku-postbuild": "npm run build"}

我尝试了以下命令来启动服务器:

  • pm2 start npm -- startSTOP
  • pm2 start index.ts ERROR

【问题讨论】:

    标签: node.js node-modules pm2 npm-scripts npm-start


    【解决方案1】:

    如果您使用 PM2 作为模块,文档说在您的 package.json 启动脚本中添加以下脚本:

    "scripts": {
        "start": "pm2-runtime start ecosystem.config.js --env production"
    },
    

    现在您可以重新启动应用程序了。
    来源:https://pm2.io/doc/en/runtime/integration/heroku/#add-pm2-as-a-module

    【讨论】:

    • 请编辑您的答案以解释这如何解决问题。谢谢!
    • 完成。出于某种原因,Heroku 不适用于 PM2 的简单启动。添加了在 Heroku 上运行 PM2 的文档指南。
    【解决方案2】:

    我认为您的服务器可能正在运行 nodemon 首先通过从 nodemon 退出来停止您的服务器,然后启动 pm2 它应该可以工作

    【讨论】:

    • 现在服务器在没有 nodemon 的情况下运行,但仍然是同样的问题。 “脚本”:{“开始”:“ts-node index.ts”,“bundle-colyseus-client”:“浏览 ./node_modules/colyseus.js/lib/index.js -s Colyseus -o static/colyseus. js", "build": "npm run bundle-colyseus-client", "heroku-postbuild": "npm run build" },
    • 仍然是同样的问题附上下面的截图。 snag.gy/x0eVCK.jpg
    【解决方案3】:

    您尝试使用 ts-node 运行 ts 文件。 尝试在 pm2 中安装 typescript

    pm2 install typescript

    然后是第二个命令

    pm2 start index.ts

    【讨论】:

    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多