

Honestly I can’t even figure out how to get that alpine-chrome image to work. I edited my Dockerfile to say
FROM zenika/alpine-chrome:with-puppeteer
instead of
FROM node:22
I tried changing USER node
to USER chrome
. I removed all the apt-get dependencies that were needed to get Puppeteer working in Docker on my PC in the first instance, and added --chown=chrome
to my COPY package.json
line, all as described in the with-puppeteer example. I also added the ENV
lines from that. (I also tried various combinations of some of the aforementioned changes but not others.) Now I get an error with the npm install
step.
Error message
15.44 npm ERR! code 1
15.44 npm ERR! path /usr/src/app/node_modules/canvas
15.44 npm ERR! command failed
15.44 npm ERR! command sh -c prebuild-install -r napi || node-gyp rebuild
15.45 npm ERR! prebuild-install warn install No prebuilt binaries found (target=7 runtime=napi arch=x64 libc=musl platform=linux)
15.45 npm ERR! gyp info it worked if it ends with ok
15.45 npm ERR! gyp info using node-gyp@8.4.1
15.45 npm ERR! gyp info using node@20.15.1 | linux | x64
15.45 npm ERR! gyp info find Python using Python version 3.11.10 found at "/usr/bin/python3"
15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
15.45 npm ERR! gyp info spawn /usr/bin/python3
15.45 npm ERR! gyp info spawn args [
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/node-gyp/gyp/gyp_main.py',
15.45 npm ERR! gyp info spawn args 'binding.gyp',
15.45 npm ERR! gyp info spawn args '-f',
15.45 npm ERR! gyp info spawn args 'make',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/canvas/build/config.gypi',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/node-gyp/addon.gypi',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/home/chrome/.cache/node-gyp/20.15.1/include/node/common.gypi',
15.45 npm ERR! gyp info spawn args '-Dlibrary=shared_library',
15.45 npm ERR! gyp info spawn args '-Dvisibility=default',
15.45 npm ERR! gyp info spawn args '-Dnode_root_dir=/home/chrome/.cache/node-gyp/20.15.1',
15.45 npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/src/app/node_modules/node-gyp',
15.45 npm ERR! gyp info spawn args '-Dnode_lib_file=/home/chrome/.cache/node-gyp/20.15.1/<(target_arch)/node.lib',
15.45 npm ERR! gyp info spawn args '-Dmodule_root_dir=/usr/src/app/node_modules/canvas',
15.45 npm ERR! gyp info spawn args '-Dnode_engine=v8',
15.45 npm ERR! gyp info spawn args '--depth=.',
15.45 npm ERR! gyp info spawn args '--no-parallel',
15.45 npm ERR! gyp info spawn args '--generator-output',
15.45 npm ERR! gyp info spawn args 'build',
15.45 npm ERR! gyp info spawn args '-Goutput_dir=.'
15.45 npm ERR! gyp info spawn args ]
15.45 npm ERR! Package pixman-1 was not found in the pkg-config search path.
15.45 npm ERR! Perhaps you should add the directory containing `pixman-1.pc'
15.45 npm ERR! to the PKG_CONFIG_PATH environment variable
15.45 npm ERR! Package 'pixman-1', required by 'virtual:world', not found
15.45 npm ERR! gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
15.45 npm ERR! gyp ERR! configure error
15.45 npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
15.45 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/usr/src/app/node_modules/node-gyp/lib/configure.js:259:16)
15.45 npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:519:28)
15.45 npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
15.45 npm ERR! gyp ERR! System Linux 6.10.14-linuxkit
15.45 npm ERR! gyp ERR! command "/usr/bin/node" "/usr/src/app/node_modules/.bin/node-gyp" "rebuild"
15.45 npm ERR! gyp ERR! cwd /usr/src/app/node_modules/canvas
15.45 npm ERR! gyp ERR! node -v v20.15.1
15.45 npm ERR! gyp ERR! node-gyp -v v8.4.1
15.45 npm ERR! gyp ERR! not ok
15.45
[+] Running 0/1A complete log of this run can be found in: /home/chrome/.npm/_logs/2025-02-18T01_04_35_846Z-debug-0.log
- Service node Building 18.9s
failed to solve: process "/bin/sh -c npm install" did not complete successfully: exit code: 1
Two fun facts.
First, Bugs is also responsible for the word “Nimrod” meaning “moron”. Nimrod is a great hunter in the bible, and Bugs was sarcastically calling Elmer Fud that name, but people didn’t realise and just assumed it was a word that meant that.
It Happened One Night is one of just 3 films to win all 5 of the major Academy Awards: best picture, best screenplay, best director, best actor & actress. The other two are Silence of the Lambs and One Flew Over the Cuckoo’s Nest.