Molto probabilmente il tuo problema è descritto da https://github.com/segmentio/nightmare/issues/224
Nightmare usa Electron che richiede un display X; poiché il tuo server non ha un display, puoi usare Xvfb per fornirne uno virtuale. Installa xvfb ed esegui
xvfb-run node --harmony hello_nightmare.js
Lo sto solo postando per i posteri.
Di seguito è riportato lo script bash per installare nightmarejs con node (4.2.4) su una macchina Ubuntu Linux pulita. L'ho testato su una gocciolina DigitalOcean in esecuzione 14.04.
apt-get -y update
apt-get -y upgrade
apt-get -y --force-yes install make unzip g++ libssl-dev git xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps clang libdbus-1-dev libgtk2.0-dev libnotify-dev libgnome-keyring-dev libgconf2-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 libnss3-dev gcc-multilib g++-multilib
mkdir src
cd src
wget https://nodejs.org/dist/v4.2.4/node-v4.2.4.tar.gz
tar xzf node-v4.2.4.tar.gz
cd node-v4.2.4
./configure
make -j2
make install
cd ..
mkdir nightmarejs
cd nightmarejs
npm -f init
npm install --save nightmare vo
Quindi devi semplicemente creare il file .js (ad es. hello_nightmare.js) (nella stessa directory in cui è installato nightmarejs) e quindi eseguirlo utilizzando il comando seguente (come già menzionato nella risposta di @ yoz):
xvfb-run node --harmony hello_nightmare.js
Spero che questo aiuti.
Poiché l'elettrone richiede X display è necessario installare tutti i seguenti pacchetti
sudo apt-get install -y xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps clang libdbus-1-dev libgtk2.0-dev libnotify-dev libgnome-keyring-dev libgconf2-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 libnss3-dev gcc-multilib g++-multilib
Testato nel server Ubuntu in aws ec2
e ha funzionato
quindi esegui il tuo script:
xvfb-run node --harmony script.js