Vyhledávání na webu

typescript - FastifyError [Chyba]: fastify-plugin: @fastify/formbody - očekávaná verze fastify '^4.0.0', je nainstalována verze '3.29.0'


Nedávno jsem aktualizoval svůj plugin @fastify/formbody, ale nyní mám chybu ohledně nesouladu verzí:

FastifyError [Error]: fastify-plugin: @fastify/formbody - expected '^4.0.0' fastify version, '3.29.0' is installed
    at Object.checkVersion (/Users/amargopastor/Projects/blog/node_modules/fastify/lib/pluginUtils.js:107:63)
    at Object.registerPlugin (/Users/amargopastor/Projects/blog/node_modules/fastify/lib/pluginUtils.js:121:16)
    at Boot.override (/Users/amargopastor/Projects/blog/node_modules/fastify/lib/pluginOverride.js:28:57)
    at Plugin.exec (/Users/amargopastor/Projects/blog/node_modules/avvio/plugin.js:80:33)
    at Boot.loadPlugin (/Users/amargopastor/Projects/blog/node_modules/avvio/plugin.js:274:10)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'FST_ERR_PLUGIN_VERSION_MISMATCH',
  statusCode: 500
}

To jsou mé závislosti v souboru package.json:

{
  "name": "blog",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "dev": "nodemon src/server.ts",
  },
  "dependencies": {
    "@fastify/formbody": "^7.0.0",
    "fastify": "^3.29.0",
    "nodemon": "^2.0.15",
    "pino": "^7.6.3",
    "pino-pretty": "^7.2.0",
    "ts-node": "^10.8.0",
    "ts-node-dev": "^2.0.0",
    "typescript": "^4.7.2"
  }
}

A toto je můj kód:

import fastify from "fastify";
import pino from "pino";
import { main_app } from "./app"
import { PORT } from "./config";

const server = fastify({
    logger: pino({
        name: "blog",
        transport: {
            target: "pino-pretty",
            options: {
                translateTime: true,
                ignore: "time,pid,hostname,reqId",
                colorize: true,
            },
        },
    }),
    disableRequestLogging: true,
});

server.register(main_app)

server.listen(PORT, "0.0.0.0");
import { FastifyPluginAsync } from "fastify";
import formBodyPlugin from "@fastify/formbody";

export const main_app: FastifyPluginAsync = async (app) => {
    app.register(formBodyPlugin);
}

Má někdo podobné problémy? Předpokládám, že neexistuje žádná verze Fastify '^4.0.0'.

Odpověď č. 1

Když máte problémy s neodpovídající verzí, můžete se spolehnout na repozitář Github.

Při pohledu na stránku s vydáními potřebujete nainstalovat formbody v6.x:

npm install @fastify/formbody@6

nebo nainstalujte nadcházející Fastify v4:

npm install fastify@next