Votre problème est probablement décrit parhttps://github.com/segmentio/nightmare/issues/224
Nightmare utilise Electron qui nécessite un affichage X; puisque votre serveur n'a pas d'affichage, vous pouvez utiliser Xvfb pour en fournir un virtuel. Installez xvfb et exécutez
xvfb-run node --harmony hello_nightmare.js
Je poste juste ceci pour la postérité.
Vous trouverez ci-dessous le script bash pour installer nightmarejs avec node (4.2.4) sur une machine Ubuntu Linux propre. J'ai testé cela sur une gouttelette DigitalOcean exécutant 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
Ensuite, il vous suffit de créer le fichier .js (par exemple hello_nightmare.js) (dans le même répertoire où nightmarejs est installé) puis de l'exécuter à l'aide de la commande ci-dessous (comme déjà mentionné dans la réponse de @yoz) :
xvfb-run node --harmony hello_nightmare.js
J'espère que cela vous aidera.
Étant donné qu'électron nécessite un affichage X, vous devez installer tous les packages suivants
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
Testé sur le serveur Ubuntu en aws ec2
et ça a marché
puis lancez votre script :
xvfb-run node --harmony script.js