sn-pulsar-client
v1.7.0-2
Published
Pulsar Node.js client
Downloads
3
Readme
Pulsar Node.js client library
The Pulsar Node.js client can be used to create Pulsar producers and consumers in Node.js.
Requirements
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
Compatibility between each version of the Node.js client and the C++ client is as follows:
| Node.js client | C++ client | |----------------|-----------------| | 1.0.x | 2.3.0 or later | | 1.1.x | 2.4.0 or later | | 1.2.x | 2.5.0 or later | | 1.3.x | 2.7.0 or later | | 1.4.x - 1.6.x | 2.8.0 or later | | 1.7.x | 2.10.1 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
- Build the Pulsar C++ client on windows.
cmake \
-A x64 \
-DBUILD_PYTHON_WRAPPER=OFF -DBUILD_TESTS=OFF \
-DVCPKG_TRIPLET=x64-windows \
-DCMAKE_BUILD_TYPE=Release \
-S .
cmake --config Release
- Set the variable
PULSAR_CPP_DIR
with thepulsar-client-cpp
path in a Windows command tool.
# for example
set PULSAR_CPP_DIR=C:\pulsar\pulsar-client-cpp
- Set the variable
OS_ARCH
in a Windows command tool,OS_ARCH
is related to the configuration of VCPKG_TRIPLET on the command line above.(Optional)
set OS_ARCH=x64-windows
Install on mac
- Install the Pulsar C++ client on mac.
brew install libpulsar
- Get the installation path of libpulsar
brew info libpulsar
- Set the variable
PULSAR_CPP_DIR
with thepulsar-client-cpp
path in a mac command tool.
# for example
## Intel x86_64
export PULSAR_CPP_DIR=/usr/local/Cellar/libpulsar/2.9.1_1
## Apple Silicon and Homebrew since 3.0.0
## cf. https://brew.sh/2021/02/05/homebrew-3.0.0/
export PULSAR_CPP_DIR=/opt/homebrew/Cellar/libpulsar/2.9.1_1
Install on Linux
- Require g++ and make commands to install pulsar-client
# rpm
$ yum install gcc-c++ make
# debian
$ apt-get install g++ make
- Download rpm or debian packages.
# Set the version of Pulsar C++ client to install
$ PULSAR_CPP_CLIENT_VERSION=2.9.1
# rpm
$ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/RPMS/apache-pulsar-client-${PULSAR_CPP_CLIENT_VERSION}-1.x86_64.rpm
$ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/RPMS/apache-pulsar-client-devel-${PULSAR_CPP_CLIENT_VERSION}-1.x86_64.rpm
# debian
$ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/DEB/apache-pulsar-client.deb
$ wget https://archive.apache.org/dist/pulsar/pulsar-${PULSAR_CPP_CLIENT_VERSION}/DEB/apache-pulsar-client-dev.deb
- Install the Pulsar C++ client.
# rpm
$ rpm -ivh apache-pulsar-client*.rpm
# debian
$ apt install ./apache-pulsar-client*.deb
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
Note
If you build
pulsar-client-node on
windows, you need to set the variablePULSAR_CPP_DIR
first, then install npm (run the commandnpm install
) in a Windows command-line tool.
Rebuild Pulsar client library:
$ npm run build
Documentation
- Please see https://pulsar.apache.org/docs/en/client-libraries-node for more details about the Pulsar Node.js client.