I have mis-understood the meaning of the ^ in version ^2.2.3.
After reading this link, ^2.2.3 means >=2.2.3 <3.X. That’s why npm throws an warning.
Besides, below are links about peer-dependencies
- What’s the difference between dependencies, devDependencies and peerDependencies in npm package.json file?
- https://nodejs.org/en/blog/npm/peer-dependencies/