Lo más probable es que su problema se describa en https://github.com/segmentio/nightmare/issues/224
Nightmare usa Electron, que requiere una pantalla X; dado que su servidor no tiene una pantalla, puede usar Xvfb para proporcionar una virtual. Instale xvfb y ejecute
xvfb-run node --harmony hello_nightmare.js
Solo estoy publicando esto para la posteridad.
A continuación se muestra la secuencia de comandos bash para instalarnightsightjs con el nodo (4.2.4) en una máquina Ubuntu Linux limpia. He probado esto en una gota de DigitalOcean que ejecuta 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
Luego simplemente crea el archivo .js (por ejemplo, hello_nightmare.js) (en el mismo directorio donde está instalado nightmare) y luego ejecútalo usando el siguiente comando (como ya se mencionó en la respuesta de @yoz):
xvfb-run node --harmony hello_nightmare.js
Espero que esto ayude.
Dado que electron requiere una pantalla X, debe instalar todos los siguientes paquetes
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
Probado en servidor ubuntu en aws ec2
y funcionó
luego ejecute su secuencia de comandos:
xvfb-run node --harmony script.js