【问题标题】:using nodejs and forever i get the error Cannot find module使用nodejs,我永远得到错误找不到模块
【发布时间】:2018-01-24 06:55:43
【问题描述】:

我试图永远启动我所有的微服务

所有服务都以同样的方式失败

我的 forever.json 看起来像(缩写)

[
  {
    "uid": "account-service",
    "append": true,
    "watch": true,
    "script": "app.js",
    "sourceDir": "/home/trig/account-service/",
    "workingDir": "/home/trig/account-service/",
    "logFile": "/home/trig/logs/forever.log",
    "outFile": "/home/trig/logs/account_service_out.log",
    "errFile": "/home/trig/logs/account_service_err.log"
  },

开始后我做

forever list  and get (abbreviated)
/home/trig/.forever/lQOi.log STOPPED

如果我查看日志

data:    account-service:25858 - module.js:471
data:    account-service:25858 -     throw err;
data:    account-service:25858 -     ^
data:    account-service:25858 - Error: Cannot find module '/home/trig/account-service'
data:    account-service:25858 -     at Function.Module._resolveFilename (module.js:469:15)
data:    account-service:25858 -     at Function.Module._load (module.js:417:25)
data:    account-service:25858 -     at Module.runMain (module.js:604:10)
data:    account-service:25858 -     at run (bootstrap_node.js:383:7)
data:    account-service:25858 -     at startup (bootstrap_node.js:149:9)
data:    account-service:25858 -     at bootstrap_node.js:496:3
data:    account-service:25858 - error: Forever detected script exited with code: 1

但如果我这样做了

ls -ls /home/trig/account-service
4 -rw-rw-r--   1308 Dec 28 20:43 app.js
4 drwxrwxr-x   4096 Dec 28 20:43 controllers
4 drwxrwxr-x   4096 Dec 22 05:36 env
4 drwxrwxr-x   4096 Dec 28 20:43 models
4 drwxrwxr-x 154 4096 Dec 28 20:43 node_modules
4 -rw-rw-r--   1 359 Dec 28 20:43 package.json
4 drwxrwxr-x   2 4096 Dec 28 20:43 utils

然后我尝试将路径从绝对路径更改为相对路径(基于下面的评论)

[
  {
    "uid": "account-service",
    "append": true,
    "watch": true,
    "script": "app.js",
    "sourceDir": "./account-service/",
    "workingDir": "./account-service/",
    "logFile": "/home/trig/logs/forever.log",
    "outFile": "/home/trig/logs/account_service_out.log",
    "errFile": "/home/trig/logs/account_service_err.log"
  },

然后做了

forever start account-service ./forever.json

仍然看到错误

data:    account-service:1795 - module.js:471
data:    account-service:1795 -     throw err;
data:    account-service:1795 -     ^
data:    account-service:1795 - Error: Cannot find module '/home/trig/account-service'
data:    account-service:1795 -     at Function.Module._resolveFilename (module.js:469:15)
data:    account-service:1795 -     at Function.Module._load (module.js:417:25)
data:    account-service:1795 -     at Module.runMain (module.js:604:10)
data:    account-service:1795 -     at run (bootstrap_node.js:383:7)
data:    account-service:1795 -     at startup (bootstrap_node.js:149:9)
data:    account-service:1795 -     at bootstrap_node.js:496:3
data:    account-service:1795 - error: Forever detected script exited with code: 1

如果将 forever.json 文件移动到目录 /home/trig/account-service(并删除其他服务)并将 sourceDir 和 workingDir 保留为绝对路径,它会正确启动

【问题讨论】:

  • 你在做一个永远的开始吗?
  • 尝试删除第一个 / 或添加 .在它之前 home/trig/account-service/ 或 ./home/trig/account-service/
  • 根据 Malice 和 Amit 的 cmets 更新了描述

标签: node.js forever


【解决方案1】:

我放弃了尝试永远使用多个应用程序。

我尝试了http://pm2.keymetrics.io/ 并很快让它工作。

到目前为止一切顺利

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 1970-01-01
    • 2018-02-26
    • 2013-09-29
    • 2018-12-21
    • 1970-01-01
    • 2022-01-15
    • 2017-08-29
    • 2016-07-08
    相关资源
    最近更新 更多