Prerequisites
April 27, 2026 ยท View on GitHub
This guide covers system requirements for installing linkspector via npm install -g. If you prefer to avoid manual setup, use the Docker image instead.
Node.js
Linkspector requires Node.js 18.18.0 or later.
The versions shipped with Ubuntu 22.04 and 24.04 LTS are too old. Use one of the following to get a supported version:
Verify your version:
node --version # must be >= 18.18.0
System libraries (Linux)
Puppeteer needs Chromium, which depends on shared libraries that are not always present on minimal or container images.
Debian / Ubuntu
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
ca-certificates \
chromium \
curl \
git \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcups2 \
libdbus-1-3 \
libdrm2 \
libgbm1 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libx11-xcb1 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
xdg-utils
Fedora / RHEL
sudo dnf install -y \
chromium \
git \
alsa-lib \
atk \
cups-libs \
gtk3 \
libXcomposite \
libXdamage \
libXrandr \
libdrm \
libgbm \
nss \
xdg-utils
macOS
No extra libraries are needed. Puppeteer downloads its own Chromium during npm install.
Windows
No extra libraries are needed. Puppeteer downloads its own Chromium during npm install.
Chromium / Chrome browser
On Linux, Puppeteer may not download a browser automatically if the architecture is not supported (e.g., ARM64). In that case, install Chromium from your package manager (shown above) and point Puppeteer to it:
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
export PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
npm install -g @umbrelladocs/linkspector
If Puppeteer's bundled download failed, you can also trigger it manually:
npx puppeteer browsers install chrome
Running as root (containers)
Linkspector now automatically adds the --no-sandbox flag when it detects it is running as root (UID 0), which is common in container environments. No manual configuration is needed.
If you still encounter issues, you can also set the flag via an environment variable:
export PUPPETEER_CHROMIUM_REVISION=0
export PUPPETEER_LAUNCH_ARGS="--no-sandbox"
Or use the Docker image, which handles all of this out of the box.