我正在使用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-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>
对这个问题有见识吗?
感谢并期待。
答案 0 :(得分:1)
我实际上已经解决了该问题,该错误是由于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
然后我使用openapi-generator-cli
即npm
安装了$ 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 。