Ihr Problem wird höchstwahrscheinlich von https://github.com/segmentio/nightmare/issues/224
beschriebenNightmare verwendet Electron, was eine X-Anzeige erfordert; Da Ihr Server kein Display hat, können Sie Xvfb verwenden, um ein virtuelles Display bereitzustellen. xvfb installieren und ausführen
xvfb-run node --harmony hello_nightmare.js
Ich poste das nur für die Nachwelt.
Unten ist das Bash-Skript zum Installieren von Nightmarejs mit Knoten (4.2.4) auf einem sauberen Ubuntu-Linux-Computer. Ich habe dies auf einem DigitalOcean-Tröpfchen mit 14.04 getestet.
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
Dann erstellen Sie einfach die .js-Datei (z. B. hello_nightmare.js) (im selben Verzeichnis, in dem nightmarejs installiert ist) und führen sie dann mit dem folgenden Befehl aus (wie bereits in der Antwort von @yoz erwähnt):
xvfb-run node --harmony hello_nightmare.js
Ich hoffe, das hilft.
Da Elektron X Display benötigt, müssen Sie alle folgenden Pakete installieren
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
Getestet auf Ubuntu-Server in aws ec2
und es hat funktioniert
Führen Sie dann Ihr Skript aus:
xvfb-run node --harmony script.js