mifi / mifi/editly

Source install fails on current Homebrew Node 22 (gl build)

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

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.5k
Forks
374
PR merge metrics
No merged PRs in 30d

Description

Summary

Installing editly from source currently fails on macOS with Homebrew node@22 because the pinned gl dependency (^5.0.3) does not build against current Node/V8 headers.

This looks like the same underlying issue as #249, but it still reproduces today with current Homebrew toolchains.

Reproduction

Environment:

  • macOS 26.1 arm64
  • Xcode 26.2 / CLT 26.1
  • Homebrew node@22 22.22.1
  • npm 10.9.4

editly@0.14.2 declares:

  • gl: ^5.0.3
  • canvas: ^2.9.3

Installing from source fails while building gl:

npm install --build-from-source editly@0.14.2

Homebrew formula reproduction hits the same error during:

npm install --prefix "$PWD/stage" --ignore-scripts=false editly@0.14.2

Failure

The build falls back to node-gyp rebuild for gl and then fails in V8 headers with errors like:

error: no template named 'is_lvalue_reference_v' in namespace 'std'
error: expected '(' for function-style cast or type construction

From the failing install log:

npm error gyp ERR! command "/opt/homebrew/Cellar/node@22/22.22.1_1/bin/node" ".../node-gyp" "rebuild"
npm error gyp ERR! cwd .../node_modules/gl
npm error gyp ERR! node -v v22.22.1
npm error In file included from .../include/node/v8-object.h:9:
npm error .../include/node/v8-maybe.h:106:45: error: no template named 'is_lvalue_reference_v' in namespace 'std'

I also tried forcing a newer C++ standard in the packaging layer, but the gl build still fails in the same path, so this does not look fixable from a downstream Homebrew formula alone.

Question

Is there a supported workaround or an updated gl/WebGL dependency path for current Node releases?

If not, would you be open to either:

  • updating the gl dependency chain, or
  • documenting a currently supported Node version range for source installs?

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

Start with the package dependency declarations for gl and canvas, then reproduce the documented npm install commands on the stated Node 22 environment. Trace the gl node-gyp rebuild failure and compare the dependency chain with the earlier issue #249. Done means establishing an updated dependency path or documenting a supported Node version range for source installs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, node.js, typescript
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.