Open llama opened 10 years ago
Spiderable requires PhantomJS, which needs to be installed on top of the Cedar stack. I've tried to do it four ways without success:
1) Using the PhantomJS meteorite package. This results in a "permission denied" error when the meteor app tries to run PhantomJS, as well as if you meteor run bash
and try to launch PJS.
2) Using the PhantomJS buildpack along with this one using buildpack-multi. This resulted in an awful error about 'require not found'
3) Using spiderable-remote with a remote PJS server. It's ugly and couldn't get it to work.
4) Using heroku-buildpack-meteorite-phantomjs, an old attempt at fixing this problem. Got an error about Fibers.
There are a number of SO questions about this problem. Spiderable is an important package. The best solution would be to include PhantomJS in this buildpack.
I'm quite surprised they don't let you launch a second process. Would you not have to build Phantom into the app?
I'm not quite sure what you mean. I don't think there is an issue with Heroku not allowing a second process. The nicest solution (including meteorite PhantomJS package) results in a cryptic permissions error when anything attempts to run the binary.
Perhaps the binary isn't +x?
Yep that's it. So I'm now setting the execute permissions bit automatically on server startup (after meteorite pulls down the phantomjs binary), but it's a hack.
Here's another stackoverflow discussion of this issue btw. Some people are just installing the binary within their meteor app folder, but thats another hack.
Discussing fixing the permissions problem in meteor-phantomjs.
Can't you just add the meteor package for this? Why force it in the buildpack?
Just
meteor add spiderable