openapi-generator-cli: [BUG] Fails to download jars
⚠️ Important Notice
Please differentiate the bug
🐛 Bug Report:
Describe the bug
When we run the generator for the first time expecting to get resolved from the PATH (openapi-generator-cli version) it hangs and after a while gives the following error:
node_modules/@openapitools/openapi-generator-cli/main.js:1045
error.response.data.on('data', data => this.logger.log(data.toString('utf8')));
^
TypeError: error.response.data.on is not a function
at VersionManagerService.printResponseError (/GMSS/node_modules/@openapitools/openapi-generator-cli/main.js:1045:33)
at /GMSS/node_modules/@openapitools/openapi-generator-cli/main.js:924:18
at /GMSS/node_modules/rxjs/dist/cjs/internal/operators/catchError.js:13:51
at OperatorSubscriber._this._error (/GMSS/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:43:21)
at Subscriber.error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
at Subscriber.error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
at Subscriber.error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/GMSS/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
Steps to Reproduce
Install like this
cd ~
mkdir testdir
cd ~/testdir/
npm install -g npm@latest
npm install @openapitools/openapi-generator-cli
sudo ln -s /home/$USER/testdir/node_modules/@openapitools/openapi-generator-cli/main.js /usr/bin/openapi-generator-cli
sudo chmod 755 node_modules/@openapitools/openapi-generator-cli/main.js
Now try running:
~/testdir/$ which openapi-generator-cli
/usr/bin/openapi-generator-cli
~/testdir$ openapi-generator-cli version
Unable to query repository, because of: "Request failed with status code 504"
Response:
date Thu, 12 Jan 2023 17:45:56 GMT
content-type text/html
content-length 160
connection keep-alive
server nginx
/home/user/testdir/node_modules/@openapitools/openapi-generator-cli/main.js:1045
error.response.data.on('data', data => this.logger.log(data.toString('utf8')));
^
TypeError: error.response.data.on is not a function
at VersionManagerService.printResponseError (/home/user/testdir/node_modules/@openapitools/openapi-generator-cli/main.js:1045:33)
at /home/user/testdir/node_modules/@openapitools/openapi-generator-cli/main.js:924:18
at /home/user/testdir/node_modules/rxjs/dist/cjs/internal/operators/catchError.js:13:51
at OperatorSubscriber._this._error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:43:21)
at Subscriber.error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
at Subscriber.error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
at Subscriber.error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
at Subscriber._error (/home/user/testdir/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)
Strangely enough, changing the directory seems to work
cd ..
~$ openapi-generator-cli version
Download 6.2.1 ...
Downloaded 6.2.1
Did set selected version to 6.2.1
6.2.1
You can break it again:
cd testdir
rm -rf node_modules/@openapitools/openapi-generator-cli/versions/
openapi-generator-cli version
The above will give you the same error
Expected behavior
openapi-generator-cli version
Download 6.2.1 ...
Downloaded 6.2.1
Did set selected version to 6.2.1
6.2.1
Screenshots
If applicable, add screenshots to help explain your problem.
Operation System (please complete the following information):
- OS: Ubuntu
- Version: 22
Package System (please complete the following information):
- Node.js v19.3.0
- npm - 9.2.0
Additional context
Add any other context about the problem here.
About this issue
- Original URL
- State: open
- Created a year ago
- Reactions: 24
- Comments: 22
Seeing the same. Blocking deployments for my team.
For contrast, here’s the uptime of the CDN from where the openapi-generator jars are actually downloaded:
It would be great if there was a way to specify the exact openapi-generator version to use, and skip the query step so your usage of the tool is decoupled from
search.maven.org.Creating an
openapitools.jsonfile in the current working directory with the following content seems to fix it for me:It appears that sometimes the file is not generated for some reason. When it is being generated everything works fine. I can’t find any obvious reason (permissions, etc) for the file not to be generated. Another strange thing is that the schema path is not valid from the current working directory - so I can’t see a reason why it would fix the issues, but it seems that it does. I tried 4 - 5 times and every time I added the file (different working dirs) it works like a charm.
This started happening in the last couple of days.
alanwguo yes, that is how I’m using it. I’m using this instead of calling
npx openapi-generator-cli version-manager set 5.4 stable. The other solution, creating theopenapitools.jsontool, also worked for me. I useI looked into this a bit, and it seems related to the not-so-great uptime of search.maven.org:

This will cause failures when:
search.maven.orgendpoint is called to figure out what the latest published version is.setmethod on the version manager calls thesearch.maven.orgendpoint to validate the version param.In other words, you’re in trouble in all cases if
search.maven.orgis down.It seems like validation via the
searchstep while doing aopenapi-generator-cli version-manager set <versionTags...>may be causing more problems than it solves, given the coupling tosearch.maven.org.When going to https://search.maven.org, I get this:
It is probably related…
It is back.
We use
as there are bugs in openapi-generator 6 that affect us, but now we cannot download 5.4 due to this outage
and
openapi-generatoruses 6.2.1 instead of 5.4As a workaround, use a static copy of the 5.4.0 openapi-generator jar and access that directly via
One can download the needed jar from maven, such as https://repo1.maven.org/maven2/org/openapitools/openapi-generator/5.4.0/openapi-generator-5.4.0.jar or https://repo1.maven.org/maven2/org/openapitools/openapi-generator/6.2.1/openapi-generator-6.2.1.jar