找不到模块“ oas3-tools”

问题描述

使用online editor从大张旗鼓生成一个nodejs-server存根。安装软件包后,我运行了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中的修复程序对我不起作用。

解决方法

npm install oas3-tools 

安装oas3-tools通过上面的命令,您还需要升级NPM。

使用以下命令升级NPM:

npm install -g npm@latest 
,

将版本固定到2.0.2而不是在^2.0.2中使用package.json即可。在发布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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...