【问题标题】:how to use forever with npm如何永远使用 npm
【发布时间】:2026-02-07 21:50:01
【问题描述】:

我正在尝试在我的 debian 10 vps forever start npm start 中运行此命令,但我在终端中遇到此错误,

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: npm
(node:23858) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:23858) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
error:   Cannot start forever
error:   script /root/node_projects/tiktok/backend/npm does not exist.

这是我的 package.json 文件

{
  "name": "auth-graphql",
  "version": "1.0.0",
  "description": "",
  "main": "src/index.js",
  "engines": {
    "node": "10.11.0"
  },  
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "node -r esm ./src/index.js",
    "start": "nodemon -r esm ./src/index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    ...
    "esm": "^3.2.0",
    ...
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-stage-2": "^6.24.1",
    "nodemon": "^1.18.4"
  }
}

我试过了

forever start  esm ./src/index.js

forever start -c "npm start" ./

forever start -c "npm start" /path/dir/

forever --sourceDir /path/dir/ -c "npm start" /

我也遇到了几乎相同的错误,请问我需要帮助,我该如何解决这个问题

【问题讨论】:

    标签: node.js npm forever


    【解决方案1】:

    试试这个命令:

    forever start -c "npm start" ./
    

    运行应用程序的特定目录:

    forever start -c "npm start" /path/dir/
    

    或者使用这个命令:

    forever --sourceDir /path/dir/ -c "npm start" /
    

    【讨论】:

    • 您可以将此参数设置为您的命令,您想明确设置它们:forever start --minUptime 1000 --spinSleepTime 1000 -c "npm start" ./
    • 我用这个命令forever start --minUptime 1000 --spinSleepTime 1000 -c "npm start" ./得到了同样的错误@
    • 我收到了这个错误warn: --minUptime not set. Defaulting to: 1000ms warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms info: Forever processing file: ./src (node:24326) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) (node:24326) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
    • 或尝试节点 6 或 8 版本
    • 这是一个警告,我认为它不会阻止应用程序启动,但您有此错误:脚本 /root/node_projects/tiktok/backend/npm 不存在 => 我认为您的目录可能错了
    【解决方案2】:

    我也遇到过类似的问题,我认为这可能与 NPM/Node 版本不兼容(请参阅discussion here

    我改用https://github.com/Unitech/pm2,事情立即开始工作。

    【讨论】:

      【解决方案3】:

      我不知道解决方案,但是。该问题与循环依赖有关。 Node 版本 14+ 不再支持循环依赖。例子 在文件A中

      var fileB = require(fileB);
      

      在文件B中

      var fileA = require(fileA);
      

      【讨论】: