TL;DR The solution is to explicitly specify the exact versions of the @pixi sub-modules in your package.json
like this:
"dependencies": {
"@pixi/core": "5.0.0-rc.3",
... (all other pixi submodules here) ...
"pixi.js": "5.0.0-rc.3"
}
Detailed explanation:
You are installing pixi.js module version 5.0.0-rc.3, but this is actually just a container for a bunch of pixi sub-modules with their own versions. The sub-module dependencies are specified like @pixi/core": "^5.0.0-rc.3";
the ^
causes npm to grab more recent versions.
I was able to control the version of the sub-modules by adding them to the package.json
file, next to the dependency for pixi.js
Here are the steps I used to confirm what was happening and to list the pixi sub-modules:
npm init -y ## Create empty npm module
npm install pixi.js@5.0.0-rc.3 --save --save-exact ## Add pixi.js
cat package-lock.json ## See below
...
"@pixi/core": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.0.4.tgz",
"integrity": "sha512-P2K2JJC+BFZrRZT9P0+Ir8jd7VrH6w7/L1Njg2+iSetW9TdjkPahR+w93VGwpEzEkrYHoNs6FbSFCY38P/6g8A==",
"requires": {
"@pixi/constants": "^5.0.4",
"@pixi/display": "^5.0.4",
"@pixi/math": "^5.0.4",
"@pixi/runner": "^5.0.4",
"@pixi/settings": "^5.0.4",
"@pixi/ticker": "^5.0.4",
"@pixi/utils": "^5.0.4"
}
},
...
"pixi.js": {
"version": "5.0.0-rc.3",
"resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-5.0.0-rc.3.tgz",
"integrity": "sha512-+B6ZMvJNEz/IoiC+BrwP9PsDonEAj4TOZw+yuZ/K8WQokcSm9uAp3PJ+6eFFWTjnkxsAcMP9tgldmDdTFoAF7w==",
"requires": {
"@pixi/accessibility": "^5.0.0-rc.3",
"@pixi/app": "^5.0.0-rc.3",
"@pixi/constants": "^5.0.0-rc.3",
"@pixi/core": "^5.0.0-rc.3",
"@pixi/display": "^5.0.0-rc.3",
"@pixi/extract": "^5.0.0-rc.3",
"@pixi/filter-alpha": "^5.0.0-rc.3",
"@pixi/filter-blur": "^5.0.0-rc.3",
"@pixi/filter-color-matrix": "^5.0.0-rc.3",
"@pixi/filter-displacement": "^5.0.0-rc.3",
"@pixi/filter-fxaa": "^5.0.0-rc.3",
"@pixi/filter-noise": "^5.0.0-rc.3",
"@pixi/graphics": "^5.0.0-rc.3",
"@pixi/interaction": "^5.0.0-rc.3",
"@pixi/loaders": "^5.0.0-rc.3",
"@pixi/math": "^5.0.0-rc.3",
"@pixi/mesh": "^5.0.0-rc.3",
"@pixi/mesh-extras": "^5.0.0-rc.3",
"@pixi/mixin-cache-as-bitmap": "^5.0.0-rc.3",
"@pixi/mixin-get-child-by-name": "^5.0.0-rc.3",
"@pixi/mixin-get-global-position": "^5.0.0-rc.3",
"@pixi/particles": "^5.0.0-rc.3",
"@pixi/polyfill": "^5.0.0-rc.3",
"@pixi/prepare": "^5.0.0-rc.3",
"@pixi/runner": "^5.0.0-rc.3",
"@pixi/settings": "^5.0.0-rc.3",
"@pixi/sprite": "^5.0.0-rc.3",
"@pixi/sprite-animated": "^5.0.0-rc.3",
"@pixi/sprite-tiling": "^5.0.0-rc.3",
"@pixi/spritesheet": "^5.0.0-rc.3",
"@pixi/text": "^5.0.0-rc.3",
"@pixi/text-bitmap": "^5.0.0-rc.3",
"@pixi/ticker": "^5.0.0-rc.3",
"@pixi/utils": "^5.0.0-rc.3"
}
},
...