How to find out which dependencies drives the installation of phantomjs-prebuilt?

When I run npm install for my project on my mac book pro, I saw this output

> phantomjs-prebuilt@2.1.16 install /Users/antkong/dev/my_project/node_modules/phantomjs-prebuilt
> node install.js

PhantomJS not found on PATH
Saving to /var/folders/d_/y12s1m0j49vff0hf_b1lzgdr0000gn/T/phantomjs/
  [========================================] 100%
Received 16746K total.
Extracting zip contents
Removing /Users/antkong/my_project/webview/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /var/folders/d_/y12s1m0j49vff0hf_b1lzgdr0000gn/T/phantomjs/ -> /Users/antkong/dev/my_project/node_modules/phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /Users/antkong/dev/my_project/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs

My first problem is: I cannot determine which dependency trigger the download of this version of phantomjs.

Here is the list of dependency of my package.json

"devDependencies": {
    "autoprefixer": "^6.3.6",
    "coffee-script": "^1.10.0",
    "fs-extra": "~0.19.0",
    "grunt": "^0.4.5",
    "grunt-bump": "0.0.13",
    "grunt-coffeelint": "0.0.15",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-coffee": "1.0.0",
    "grunt-contrib-copy": "~0.5.0",
    "grunt-contrib-less": "~0.11.0",
    "grunt-contrib-requirejs": "~0.4.0",
    "grunt-contrib-watch": "~0.6.1",
    "grunt-mkdir": "~0.1.2",
    "grunt-mocha": "1.0.2",
    "grunt-modernizr": "^0.5.2",
    "grunt-postcss": "^0.8.0",
    "grunt-shell": "^1.1.2",
    "grunt-webfont": "^1.6.0",
    "husky": "^0.14.3",
    "lint-staged": "^7.1.2",
    "prettier": "1.13.4",
    "underscore": "~1.7.0"

The real issue that is causing me grief is this: when I tried to run the same npm install on our CI service, which uses Linux docker, npm downloaded the version 2.1.16 of phantomjs. I want to know which dependency is causing this discrepancy.