cloudflare / cloudflare/binary-install
@cloudflare/wrangler postinstall script does not exit
- Dominant language
- JavaScript
- Stars
- 48
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description

I have to force exit, and the binary is not linked.
And I modified the script
```js
#!/usr/bin/env node
const why = require('why-is-node-running')
const { install } = require("./binary");
install().then(() => {
setInterval(() => {
console.log('-------');
why()
}, 1000)
})
```
And logs as
```txt
$ node ./install-wrangler.js
Downloading release https://workers.cloudflare.com/get-npm-wrangler-binary/1.7.0/x86_64-apple-darwin
wrangler has been installed!
-------
There are 10 handle(s) keeping the process running
# TTYWRAP
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/debug/src/node.js:76 - : tty.isatty(process.stderr.fd);
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/debug/src/debug.js:120 - debug.useColors = exports.useColors();
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/follow-redirects/index.js:6 - var debug = require("debug")("follow-redirects");
# SIGNALWRAP
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/debug/src/node.js:76 - : tty.isatty(process.stderr.fd);
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/debug/src/debug.js:120 - debug.useColors = exports.useColors();
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/follow-redirects/index.js:6 - var debug = require("debug")("follow-redirects");
# TTYWRAP
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/binary-install/src/binary.js:88 - console.log("Downloading release", this.url);
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/binary.js:37 - return binary.install();
# TCPWRAP
(unknown stack trace)
# TLSWRAP
(unknown stack trace)
# DNSCHANNEL
(unknown stack trace)
# HTTPCLIENTREQUEST
(unknown stack trace)
# Timeout
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/install-wrangler.js:7 - setInterval(() => {
# ZLIB
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/minizlib/index.js:60 - this[_handle] = new realZlib[mode](opts)
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/minizlib/index.js:193 - super(opts, mode)
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/minizlib/index.js:292 - super(opts, 'Unzip')
/Users/magicdawn/.npm-global/lib/node_modules/@cloudflare/wrangler/node_modules/tar/lib/parse.js:347 - this[UNZIP] = new zlib.Unzip()
# TickObject
(unknown stack trace)
```
Contributor guide
Research direction
Start with install-wrangler.js and binary.js, then reproduce the npm installation described in the report. Check why the postinstall process remains active and why the binary is not linked. Done means the installation completes without requiring a forced exit and the binary is linked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100