Генераторы SERVER с использованием OpenAPI Generator

Я использую генератор OpenAPI https://openapi-generator.tech/ для создания перечисленных клиентов и серверов в списке генераторов OpenApi https://openapi-generator.tech/docs/generators.

Я установил openapi-generator-cli, используя npm, т.е. $ 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 [email protected]

Однако после того, как я попытаюсь создать клиент Ruby из действительного 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.

Любое понимание этой проблемы?

Спасибо и с нетерпением жду.


person Arslan Ali    schedule 31.08.2020    source источник


Ответы (1)


Я действительно решил проблему, и ошибка возникла из-за версии npm & nodejs.

Ранее у меня была $npm -v версия 3.5.2 и $ nodejs -v версия v4.2.6..

Но после того, как я извлечу node-v12.18.3 исходный код из https://nodejs.org/en/download/ и установить его из источника, используя:

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

И затем я установил openapi-generator-cli, используя npm, то есть $ npm install @openapitools/openapi-generator-cli -g. И, наконец, я могу сгенерировать рубиновый клиент из действительного petstore.yaml документа, используя:

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.

person Arslan Ali    schedule 31.08.2020