使用OpenAPI Generator的服务器生成器

时间:2020-08-31 16:49:54

标签: node.js linux npm openapi openapi-generator

我正在使用OpenAPI生成器https://openapi-generator.tech/生成客户端和服务器,如OpenApi生成器列表 https://openapi-generator.tech/docs/generators中所列。

我已经使用openapi-generator-clinpm安装了$ npm install @openapitools/openapi-generator-cli -g

终端上的输出:

/ usr / local / bin / openapi-generator-> / usr / local / lib / node_modules / @ openapitools / openapi-generator-cli / bin / openapi-generator / usr / local / lib└──@ openapitools / openapi-generator-cli @ 1.0.15-4.3.1

但是,在我尝试从有效的petstore.yaml文档生成红宝石客户端之后:

$ openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/

我不断收到错误消息:

/usr/local/lib/node_modules/@openapitools/openapi-generator-cli/bin/openapi-generator:3
const {spawn} = require('child_process');
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:442:10)
    at startup (node.js:136:18)
    at node.js:966:3

PS!!我有$ npm -v版的 3.5.2 $ nodejs -v版的 v4.2.6 。 / p>

对这个问题有见识吗?

感谢并期待。

1 个答案:

答案 0 :(得分:1)

我实际上已经解决了该问题,该错误是由于npmnodejs版本引起的。

以前,我有$npm -v 版本3.5.2 $ nodejs -v 版本v4.2.6。

但是在我从https://nodejs.org/en/download/中提取node-v12.18.3源代码并使用以下代码从源代码安装后:

cd ~/node-v12.18.3
./configure
make -j 4
sudo make install

然后我使用openapi-generator-clinpm安装了$ npm install @openapitools/openapi-generator-cli -g。最后,我可以使用以下方法从有效的petstore.yaml文档生成一个ruby客户端:

openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/
arslan@arslan:/tmp/test$ ls
docs  Gemfile  git_push.sh  lib  openapi_client.gemspec  Rakefile  README.md  spec

PS!从源代码编译node-v12.18.3后,它会显示$ npm -v 6.14.6 $ node -v v12.18.3