I would like to use the grunt-contrib-jasmine
NPM package. It has various dependencies. Part of the dependency graph looks like this:
─┬ [email protected] │ ├─┬ [email protected] │ │ ├─┬ [email protected]
Unfortunately, there's a bug in this version phantomjs
which prevents it from installing correctly on Mac OS X. This is fixed in the latest version.
How can I get grunt-lib-phantomjs
to use a newer version of phantomjs
?
Some additional context:
grunt-contrib-jasmine
explicitly requires version "~0.2.0"
of grunt-lib-phantomjs
, which explicitly requires version "~1.8.1"
of phantomjs
.phantomjs
to my package's dependencies first has no effect; both versions are installed and grunt-contrib-jasmine
still uses the older versions (see: When installing a package with NPM, can you tell it to use a different version of one of its dependencies?).You can use npm shrinkwrap functionality, in order to override any dependency or sub-dependency.
I've just done this in a grunt
project of ours. We needed a newer version of connect, since 2.7.3
. was causing trouble for us. So I created a file named npm-shrinkwrap.json
:
{ "dependencies": { "grunt-contrib-connect": { "version": "0.3.0", "from": "[email protected]", "dependencies": { "connect": { "version": "2.8.1", "from": "connect@~2.7.3" } } } } }
npm
should automatically pick it up while doing the install for the project.
(See: https://nodejs.org/en/blog/npm/managing-node-js-dependencies-with-shrinkwrap/)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With