node.js - 找不到模块 'oas3-tools'

标签 node.js swagger

使用online editor生成了一个nodejs-server stub 来自 Swagger 。安装软件包后,我运行 npm start 并收到以下错误:

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'oas3-tools'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/user/project/nodejs-server-server-generated/index.js:6:17)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

index.js 如下所示:

'use strict';

var path = require('path');
var http = require('http');

var oas3Tools = require('oas3-tools');
var serverPort = 8080;

// swaggerRouter configuration
var options = {
    controllers: path.join(__dirname, './controllers')
};

var expressAppConfig = oas3Tools.expressAppConfig(path.join(__dirname, 'api/openapi.yaml'), options);
expressAppConfig.addValidator();
var app = expressAppConfig.getApp();

// Initialize the Swagger middleware
http.createServer(app).listen(serverPort, function () {
    console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
    console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort);
});

我发现的最接近的是 this stackoverflow 问题,但这并不能解决我的具体问题。

来自 https://github.com/bug-hunters/oas3-tools/issues/17 的修复对我不起作用。

最佳答案

将版本固定为 2.0.2,而不是在 package.json 中使用 ^2.0.2。使用此直到 https://github.com/bug-hunters/oas3-tools 的新(工作)版本已发布。

来自:https://github.com/bug-hunters/oas3-tools/issues/25

编辑:已在 2.1.3 中修复 (https://github.com/bug-hunters/oas3-tools/issues/25#issuecomment-720482897)

关于node.js - 找不到模块 'oas3-tools',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64429259/

相关文章:

windows - 如何在 Windows 上以静默方式在自定义文件夹中安装 Node.js?

node.js - 使用 docker compose 运行 Node 容器时出错

javascript - npm outdated 命令在当前版本中显示 MISSING

node.js - 如何在 Swagger 中编写此正则表达式模式?

swagger - 通过Swagger/OpenAPI为additionalProperties指定多种类型

javascript - JSON.parse(fs.readFileSync()) 返回缓冲区 - 数字字符串

javascript - 无法监视现有功能

asp.net-core - Swashbuckle.AspNetCore 所需的查询字符串参数

c# - 如何在 Swashbuckle 中添加标题文档?

swagger - 带有外部引用验证的 OpenApi