'oas3-tools'모듈을 찾을 수 없습니다.

Oct 19 2020

swagger 의 온라인 편집기 로 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);
});

내가 찾은 가장 가까운 것은 이 stackoverflow 질문이지만 이것은 내 특정 문제를 해결하지 못합니다.

수정 사항 https://github.com/bug-hunters/oas3-tools/issues/17 나를 위해 작동하지 않습니다.

답변

1 Ri1a Oct 19 2020 at 22:05

직장 에서 2.0.2사용 하는 대신 버전을 고정 합니다. 새로운 (작동하는) 버전이 나올 때까지 이것을 사용하십시오.^2.0.2package.jsonhttps://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)

Stanley Oct 19 2020 at 21:48
npm install oas3-tools 

위의 명령에서 oas3-tools를 설치하고 NPM도 업그레이드해야합니다.

NPM을 업그레이드하려면 다음 명령을 사용하십시오.

npm install -g npm@latest