nan VS node-pre-gyp

Compare nan vs node-pre-gyp and see what are their differences.

nan

Native Abstractions for Node.js (by nodejs)

node-pre-gyp

Node.js tool for easy binary deployment of C++ addons (by mapbox)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
nan node-pre-gyp
5 3
3,246 1,097
0.3% -0.1%
5.1 1.9
about 2 months ago 9 days ago
C++ JavaScript
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nan

Posts with mentions or reviews of nan. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-10.

node-pre-gyp

Posts with mentions or reviews of node-pre-gyp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-05-01.
  • Has anyone got sqlite3 and electron working on Apple M1?
    1 project | /r/node | 10 Jun 2022
    The problem is that it determines the the system's platform and architecture using the binary compiling package node-pre-gyp and this very savior of a Github issue details how node-pre-gyp is not handling ARM architecture detection properly and basically mixing everything up. Because it's not detecting properly, even if we build our own binding with --build-from-source when installing, it still won't work because it is compiling the wrong binding file for the wrong architecture. To make matters worse, if we don't use --build-from-source, it just simply fetches the Intel precompiled binding file. napi-v6-darwin-unknown-x64
  • Getting Rid of Dust / 1.0.0-beta.4
    14 projects | dev.to | 1 May 2021
    Indeed, Snowboy uses node-pre-gyp which helps to publish and install Node.js C++ addons from binaries. So when a new Node.js version is shipped, node-pre-gyp must update its listing of the supported targets by specifying the:
  • Mac Mini M1 issues with Node JS < 15
    3 projects | /r/node | 21 Feb 2021
    Node is like 95% OK with ARM chips, so you might have a tricky dependency. Every time I had problems it was related to something depending on node-pre-gyp, there is an issue about it .

What are some alternatives?

When comparing nan and node-pre-gyp you can also consider the following projects:

node-addon-api - Module for using Node-API from C++

patch-package - Fix broken node modules instantly 🏃🏽‍♀️💨

Banshee

gitpod - The developer platform for on-demand cloud development environments to create software faster and more securely.

execa - Process execution for humans

Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

opn - Open stuff like URLs, files, executables. Cross-platform.

editly - Slick, declarative command line video editing & API

webworker-threads - Lightweight Web Worker API implementation with native threads

opencv - OpenCV Bindings for node.js