node-curl is an abandoned Node.js package that provides a wrapper around the `libcurl` library, allowing developers to perform HTTP and other network requests with access to all standard cURL options and information retrieval. Released with version 0.3.3, its last update was in 2014, making it incompatible with modern Node.js versions (the `engines` field specifies `>= 0.6.0`). Due to its age and lack of maintenance, it does not support current Node.js APIs, `node-gyp` versions, or ESM. It distinguishes itself by offering both a high-level function-based API and a lower-level `Curl` class for granular control over the transfer process. For contemporary applications, the actively maintained `node-libcurl` library serves as a modern and compatible alternative, which was originally based on the work of `node-curl` but has been largely rewritten.
npm install node-curlVerified import paths — ran on the pinned version, not inferred.
Demonstrates a basic GET request and another with options (verbose output, raw buffer body).
Use a maintained alternative like `node-libcurl` (`npm install node-libcurl`) or a pure JavaScript HTTP client like `axios` or `node-fetch`.
Ensure `libcurl-dev` (or equivalent) and a compatible C++ compiler are installed on your system, and attempt to use an older Node.js version. However, switching to `node-libcurl` is strongly recommended as it provides prebuilt binaries for many environments.
Refactor your codebase to use CommonJS `require()` or, preferably, migrate to a modern, actively maintained library that supports ES Modules.
Migrate immediately to an actively maintained alternative like `node-libcurl` which provides similar functionality with modern Node.js compatibility and ongoing security updates.
For `node-curl`, there's no reliable fix for modern Node.js. For `node-libcurl` (the alternative), ensure you have Python 3.x and a C++17 compatible compiler, or rely on prebuilt binaries.
Install `libcurl` development packages (e.g., `libcurl4-openssl-dev` on Debian/Ubuntu, `curl-devel` on RHEL/CentOS, `brew install curl` on macOS). However, this may not resolve underlying `node-gyp` compatibility issues with `node-curl` itself.
Refactor your module to use CommonJS if the environment strictly requires it, or, ideally, migrate to `node-libcurl` which offers modern usage patterns and potentially better ESM support.
First, attempt `npm install node-curl`. If it fails with compilation errors, refer to other `warnings` and `problems` entries related to native module compilation. The most robust fix is to switch to `node-libcurl`.
No dependency data recorded yet.