guybedford / guybedford/chomp

Chomp fails to install on Alpine via npm

Open
#175 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
168
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Here's what I'm trying:

/workspaces/es-module-lexer # node --version
v20.7.0
/workspaces/es-module-lexer # npm i -g chomp

changed 147 packages in 1s

6 packages are looking for funding
  run `npm fund` for details
/workspaces/es-module-lexer # chomp --help
node:events:492
      throw er; // Unhandled 'error' event
      ^

Error: spawn /usr/local/lib/node_modules/chomp/vendor/chomp ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on ChildProcess instance at:
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn /usr/local/lib/node_modules/chomp/vendor/chomp',
  path: '/usr/local/lib/node_modules/chomp/vendor/chomp',
  spawnargs: [ '--help' ]
}

Node.js v20.7.0

file reveals it's a dynamically linked binary, which doesn't run out of the box on Alpine:

/workspaces/es-module-lexer # file /usr/local/lib/node_modules/chomp/vendor/chomp
/usr/local/lib/node_modules/chomp/vendor/chomp: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73c85cd956c7a62809badf65af42c53130596b8b, for GNU/Linux 3.2.0, with debug_info, not stripped
/workspaces/es-module-lexer # ls /lib64/ld-linux-x86-64.so.2
ls: /lib64/ld-linux-x86-64.so.2: No such file or directory

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the global npm installation and chomp --help failure on Alpine, then inspect the installed vendor/chomp binary and the npm package entry point that spawns it. Done means the installed CLI can start on Alpine without the reported ENOENT failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.