Hi @Carson_Roscoe, please make sure to post in Contracts next time for a faster response. (I've moved this post now.)
Yes, you can do this with npm. From npm docs:
npm install <alias>@npm:<name>
:Install a package under a custom alias. Allows multiple versions of a same-name package side-by-side, more convenient import names for packages with otherwise long ones, and using git forks replacements or forked npm packages as replacements. Aliasing works only on your project and does not rename packages in transitive dependencies. Aliases should follow the naming conventions stated in
validate-npm-package-name
.Examples:
npm install my-react@npm:react npm install jquery2@npm:jquery@2 npm install jquery3@npm:jquery@3 npm install npa@npm:npm-package-arg
So you can do npm install openzeppelin-contracts-4.5@npm:@openzeppelin/contracts@^4.5.0
.
I don't really understand the source of this error you mention though. How are you trying to combine ERC721A with OpenZeppelin Contracts?
As a side note we would love to know the reasons that attracted you to ERC721A.