2

我刚刚在 adonisjs5 上安装了 adonis5-scheduler,但每当我尝试提供服务时都会出现错误

操作系统:windows 10 节点版本:14.6.1 npx 版本:6.14.12

预期结果 ——构建服务

实际结果

TypeError: this.container.singleton is not a function


1 SchedulerProvider.register
  C:\Users\user\Documents\Code\Sacro\node_modules\adonis5-scheduler\build\providers\SchedulerProvider.js:16

2 anonymous
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\fold\build\src\Registrar\index.js:103

3 Registrar.register
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\fold\build\src\Registrar\index.js:101

4 anonymous
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\application\build\src\Application.js:530

5 Application.registerProviders
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\application\build\src\Application.js:524

6 HttpServer.wire
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\core\build\src\Ignitor\HttpServer\index.js:52

7 HttpServer.start
  C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\core\build\src\Ignitor\HttpServer\index.js:146

这是注释部分中要求的我的 package.json 文件中的代码。

{
  "name": "Sacro",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "build": "node ace build --production",
    "start": "node server.js",
    "dev": "node ace serve --watch",
    "lint": "eslint . --ext=.ts"
  },
  "devDependencies": {
    "@adonisjs/assembler": "^5.2.0",
    "@types/jsdom": "^16.2.10",
    "@types/supertest": "^2.0.11",
    "adonis-preset-ts": "^2.1.0",
    "eslint": "^7.26.0",
    "eslint-plugin-adonis": "^1.3.1",
    "get-port": "^5.1.1",
    "japa": "^3.1.1",
    "jsdom": "^16.5.3",
    "pino-pretty": "^4.8.0",
    "supertest": "^6.1.3",
    "typescript": "^4.2.4",
    "youch": "^2.2.2",
    "youch-terminal": "^1.1.1"
  },
  "dependencies": {
    "@adonisjs/auth": "^5.1.1",
    "@adonisjs/core": "^5.1.6",
    "@adonisjs/lucid": "^10.0.0",
    "@adonisjs/repl": "^3.1.2",
    "adonis5-scheduler": "^1.0.1",
    "adonisjs-paystack": "^0.2.0",
    "axios": "^0.21.1",
    "luxon": "^1.27.0",
    "mysql": "^2.18.1",
    "phc-argon2": "^1.1.1",
    "proxy-addr": "^2.0.6",
    "reflect-metadata": "^0.1.13",
    "source-map-support": "^0.5.19"
  }
}
4

1 回答 1

0

在 中node_modules/adonis5-scheduler/build/providers/SchedulerProvider,您可以进行修补程序:

添加一个?只有在容器不为空/未定义的情况下,容器调用才能继续评估

[...]this.app.container?.singleton[...]在第 16 行

[...]this.app.container?.bind[...]在第 21 行

重要提示: 我已经打开了一个报告此问题的问题,但我记得我在它的 alpha 版本中使用了 Adonis 5.. 在创建一个全新的最新版本 Adonis 5 项目 ( npm init adonis-ts-app@latest project-name-here) 并安装adonis5-scheduler之后,它工作

于 2021-07-08T04:08:54.727 回答