使用 OpenAPI 生成器的服务器生成器

SERVER generators using OpenAPI Generator

我正在使用 OpenAPI 生成器 https://openapi-generator.tech/ for generating clients and servers as listed in the OpenApi generator list https://openapi-generator.tech/docs/generators

我已经使用 npm 安装了 openapi-generator-cli,即 $ 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 文档生成 ruby 客户端之后:

$ 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.

对这个问题有什么见解吗?

感谢并期待。

我实际上解决了这个问题,错误是由于 npm & nodejs 版本。

以前,我有 $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

然后我使用 npm 安装了 openapi-generator-cli,即 $ 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.