从swagger中生成一个带有在线编辑的nodejs服务器存根。安装软件包后,我运行了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);
});我发现的最接近的问题是这堆栈溢出问题,但这不能解决我的具体问题。
https://github.com/bug-hunters/oas3-tools/issues/17的修复方法对我不起作用。
发布于 2020-10-19 15:05:58
将版本固定在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)中修复
发布于 2020-10-19 14:48:27
npm install oas3-tools 安装OAS3-工具从上面的命令,你也需要升级你的NPM。
使用以下命令升级NPM:
npm install -g npm@latest https://stackoverflow.com/questions/64429259
复制相似问题