Váš problém je s největší pravděpodobností popsán na https://github.com/segmentio/nightmare/issues/224
Nightmare používá Electron, který vyžaduje displej X; protože váš server nemá displej, můžete použít Xvfb k poskytnutí virtuálního. Nainstalujte xvfb a spusťte
xvfb-run node --harmony hello_nightmare.js
Zveřejňuji to jen pro budoucí generace.
Níže je bash skript pro instalaci nightmarejs s node (4.2.4) na čistý počítač Ubuntu Linux. Testoval jsem to na kapičce DigitalOcean se systémem 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
Pak jednoduše vytvoříte soubor .js (např. hello_nightmare.js) (ve stejném adresáři, kde je nainstalován nightmarejs) a poté jej spusťte pomocí příkazu níže (jak již bylo zmíněno v odpovědi @yoz):
xvfb-run node --harmony hello_nightmare.js
Doufám, že to pomůže.
Protože elektron vyžaduje displej X, musíte nainstalovat všechny následující balíčky
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
Testováno na serveru ubuntu v aws ec2
a fungovalo to
pak spusťte svůj skript:
xvfb-run node --harmony script.js