This is generally a simple process to install CapserJS on a *NIX box, but had not done this on a Raspberry Pi before, and ran into a couple of minor gotchas. This is a stripped down explanation of what I needed to do, but it will server as a reference for me, and maybe for some other people as well.
Prerequisites for installing CapserJS
- Node
- npm
- PhantomJS
Node
Installing node is very simple, but you should grab root access to do it. This should be simple and run without any issues.
apt-get install nodejs
npm
The Node Package Manager will be used later to actually install CasperJS, once PhantomJS has been successfully installed.
apt-get install npm
PhantomJS
PhantomJS is a web automation framework, that CasperJS uses to run it’s extended suite of tools. NOTE. I found that I needed to modify my user’s (pi in this case) environment to tell Phantom that not to expect a console for rendering webpages; I’ll document that at the bottom.
apt-get install phantomjs
CasperJS
Installing CasperJS is done most simply via the npm (Node Package Manager):
npm install -g casperjs
Handling the PhantomJS Display Error
pi@raspberrypi:~ $ casperjs
QXcbConnection: Could not connect to display
PhantomJS has crashed. Please read the bug reporting guide at
Aborted
The fix is to add this line to the .bashrc file, which will stop the error. I simply added this to the last line of the file.
export QT_QPA_PLATFORM=offscreen