Apache Pulsar NodeJS Client

Clone this repo:
  1. 499776e Fix compatibility between nodejs client and cpp client versions (#176) by hrsakai · 11 days ago master
  2. 3533a00 Update library with security vulnerabilities (#172) by Masahiro Sakamoto · 3 weeks ago
  3. b6d2917 [Build] Add windows building configurations (#169) by ran · 4 weeks ago
  4. 257e026 1.5.0-rc.0 (#167) by hrsakai · 8 weeks ago
  5. 78c8bc9 Upgrade package that has security vulnerabilities (#166) by hrsakai · 8 weeks ago

Pulsar Node.js client library

The Pulsar Node.js client can be used to create Pulsar producers and consumers in Node.js.


Pulsar Node.js client library is based on the C++ client library. Follow the instructions for C++ library for installing the binaries through RPM, Deb or Homebrew packages.

(Note: you will need to install not only the pulsar-client library but also the pulsar-client-dev library)

Also, this library works only in Node.js 10.x or later because it uses the node-addon-api module to wrap the C++ library.


Compatibility between each version of the Node.js client and the C++ client is as follows:

Node.js clientC++ client
1.0.x2.3.0 or later
1.1.x2.4.0 or later
1.2.x2.5.0 or later
1.3.x2.7.0 or later
1.4.x2.8.0 or later

If an incompatible version of the C++ client is installed, you may fail to build or run this library.

How to install

Install on windows

  1. Build the Pulsar C++ client on windows.

  2. Set the variable PULSAR_CPP_DIR with the pulsar-client-cpp path in a Windows command tool.

# for example
set PULSAR_CPP_DIR=C:\pulsar\pulsar-client-cpp

Install pulsar-client to your project

$ npm install pulsar-client

Sample code

Please refer to examples.

How to build

Install dependent npm modules and build Pulsar client library:

$ git clone https://github.com/apache/pulsar-client-node.git
$ cd pulsar-client-node
$ npm install


If you build pulsar-client-node on windows, you need to set the variable PULSAR_CPP_DIR first, then install npm (run the command npm install) in a Windows command-line tool.

Rebuild Pulsar client library:

$ npm run build