ruvnet / ruvnet/RuVector

@ruvector/edge-net fails to install on Apple Silicon (wrtc dependency missing darwin-arm64 prebuilt)

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

Nobody has claimed this yet.

Dominant language
Rust
Stars
4.5k
Forks
603
Avg merge
23h 32m
Merged PRs (30d)
59

Description

Problem

@ruvector/edge-net@0.5.3 fails to install on Apple Silicon Macs (M-series) because it depends on wrtc@^0.4.7, which has no prebuilt binary for darwin-arm64.

Environment

  • Node.js: v22.13.1
  • Architecture: darwin arm64 (Apple M3 Max)
  • macOS: 26.3.1
  • npm: 10.x
  • Package: @ruvector/edge-net@0.5.3

Error

npm install -g @ruvector/edge-net@latest

node-pre-gyp http GET https://node-webrtc.s3.amazonaws.com/wrtc/v0.4.7/Release/darwin-arm64.tar.gz
node-pre-gyp ERR! install response status 404 Not Found on https://node-webrtc.s3.amazonaws.com/wrtc/v0.4.7/Release/darwin-arm64.tar.gz

The wrtc npm package (v0.4.7) never shipped Apple Silicon prebuilt binaries. The S3 bucket only has darwin-x64 builds. Since wrtc appears to be unmaintained, this is unlikely to be fixed upstream.

Reproduction

# On any Apple Silicon Mac with Node 22+
npm install -g @ruvector/edge-net@latest
# Fails with 404 on wrtc prebuilt download

Suggested Fix

One of:

  1. Make wrtc an optional dependency — so edge-net installs even without WebRTC support on unsupported platforms
  2. Switch to @roamhq/wrtc — a maintained fork with Apple Silicon prebuilt binaries
  3. Remove wrtc dependency — if WebRTC is not core to edge-net's functionality, make it a peer dependency that users install separately

Impact

This prevents @ruvector/edge-net from being installed on any Apple Silicon Mac, which is the majority of modern Mac development machines. The package directory exists in node_modules but is non-functional (missing native binary).

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 by reproducing the provided npm install command for @ruvector/edge-net@0.5.3 on an Apple Silicon Mac and inspect how its wrtc dependency is declared. Compare the optional dependency, maintained fork, and peer dependency approaches; done means the package installs successfully on darwin-arm64 with the intended WebRTC behavior clearly preserved or documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.