Medium / phantomjs

NPM wrapper for installing phantomjs
Other
1.42k stars 436 forks source link

Question about Phantom JS #775

Open LorneCurrie opened 6 years ago

LorneCurrie commented 6 years ago

We use prerender with our SPA, and one of the dependencies for prerender is phantomJS-prebuilt. I have just started to move the build scripts to Travis-CI, and I have run into an issue with the project. Phantomjs does not seem to be included in the node_modules folder after the build as phantomJS is already installed and available on the path for the Travis CI build process.

Is there a way I can force the npm install process for prerender to install phantomJS in the node_modules? The package built is then deployed in Elastic Beanstalk, and currently fails with the following errors on Elastic Beanstalk:

Error: spawn /usr/local/phantomjs/bin/phantomjs ENOENT
    at _errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
events.js:183
      throw er; // Unhandled 'error' event

The phantomJS package in the node_module folder is only needed for prerender to run on Elasticbeanstalk, so should not create any circular dependensies at pointed out in the install.js file. (https://github.com/Medium/phantomjs/blob/0cc1407f107f8399747015f131390247d0ff60c4/install.js#L58)