My yarn install --frozen-lockfile --verbose
is getting hung at what seems to be the native module/gyp build phase and I can’t figure out why.
I’ve tried export npm_config_loglevel=verbose
before running yarn install
and have not gotten any more output. Here is where it hangs (for 8+ hours):
<code>gyp verb download contents checksum {"node-v20.16.0-headers.tar.gz":"6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c"}
gyp verb validating download checksum for node-v20.16.0-headers.tar.gz (6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c == 6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c)
gyp verb get node dir target node version installed: 20.16.0
gyp verb build dir attempting to create "build" dir: /app/server/node_modules/dtrace-provider/build
gyp verb build dir "build" dir needed to be created? Yes
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /app/server/node_modules/dtrace-provider/build/config.gypi
gyp verb config.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/config.gypi
gyp verb common.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python3
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/app/server/node_modules/dtrace-provider/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.16.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/20.16.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.16.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/app/server/node_modules/dtrace-provider',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp verb build type Release
gyp verb architecture arm64
gyp verb node dev dir /root/.cache/node-gyp/20.16.0
gyp verb python /usr/bin/python3
gyp verb `which` succeeded for `make` /usr/bin/make
gyp verb bin symlinks created symlink to "/usr/bin/python3" in "/app/server/node_modules/dtrace-provider/build/node_gyp_bins" and added to PATH
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/app/server/node_modules/dtrace-provider/build'
touch Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/app/server/node_modules/dtrace-provider/build'
<code>gyp verb download contents checksum {"node-v20.16.0-headers.tar.gz":"6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c"}
gyp verb validating download checksum for node-v20.16.0-headers.tar.gz (6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c == 6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c)
gyp verb get node dir target node version installed: 20.16.0
gyp verb build dir attempting to create "build" dir: /app/server/node_modules/dtrace-provider/build
gyp verb build dir "build" dir needed to be created? Yes
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /app/server/node_modules/dtrace-provider/build/config.gypi
gyp verb config.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/config.gypi
gyp verb common.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/app/server/node_modules/dtrace-provider/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.16.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/20.16.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.16.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/app/server/node_modules/dtrace-provider',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp verb build type Release
gyp verb architecture arm64
gyp verb node dev dir /root/.cache/node-gyp/20.16.0
gyp verb python /usr/bin/python3
gyp verb `which` succeeded for `make` /usr/bin/make
gyp verb bin symlinks created symlink to "/usr/bin/python3" in "/app/server/node_modules/dtrace-provider/build/node_gyp_bins" and added to PATH
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/app/server/node_modules/dtrace-provider/build'
touch Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/app/server/node_modules/dtrace-provider/build'
gyp info ok
</code>
gyp verb download contents checksum {"node-v20.16.0-headers.tar.gz":"6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c"}
gyp verb validating download checksum for node-v20.16.0-headers.tar.gz (6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c == 6cc5690a67b9b1e1fa8cedaeca41f1bdb5e1af1f7948761c798d33d99f789a5c)
gyp verb get node dir target node version installed: 20.16.0
gyp verb build dir attempting to create "build" dir: /app/server/node_modules/dtrace-provider/build
gyp verb build dir "build" dir needed to be created? Yes
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /app/server/node_modules/dtrace-provider/build/config.gypi
gyp verb config.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/config.gypi
gyp verb common.gypi checking for gypi file: /app/server/node_modules/dtrace-provider/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/app/server/node_modules/dtrace-provider/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.16.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/20.16.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.16.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/app/server/node_modules/dtrace-provider',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp verb build type Release
gyp verb architecture arm64
gyp verb node dev dir /root/.cache/node-gyp/20.16.0
gyp verb python /usr/bin/python3
gyp verb `which` succeeded for `make` /usr/bin/make
gyp verb bin symlinks created symlink to "/usr/bin/python3" in "/app/server/node_modules/dtrace-provider/build/node_gyp_bins" and added to PATH
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/app/server/node_modules/dtrace-provider/build'
touch Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/app/server/node_modules/dtrace-provider/build'
gyp info ok
This is running inside a docker container. First the host info:
- Docker image:
node:20.16.0-bullseye-slim
- Docker version 26.1.2, build 211e74b
- Host: Ubuntu 22.04.2 LTS (running on AWS Graviton)
Env info from inside the container:
<code># arch
aarch64
# yarn --version
1.22.22
# node --version
v20.16.0
</code>
# arch
aarch64
# yarn --version
1.22.22
# node --version
v20.16.0
I’ve narrowed it down to [email protected]
. If not in package.json
it will not hang. Additionally, it does not hang locally (macOS) with [email protected]
. Only hangs in my CI env (info above).
For some unknown reason, I have a git commit that worked a few days ago in CI, that no longer does (it contains [email protected]
).
I have confirmed PUPPETEER_SKIP_CHROME_DOWNLOAD=true
is set before the yarn install
.
How can I get more output so I can determine why it is hanging?