sn-pulsar-client v1.7.0-2
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_DIRwith thepulsar-client-cpppath in a Windows command tool.
# for example
set PULSAR_CPP_DIR=C:\pulsar\pulsar-client-cpp- Set the variable
OS_ARCHin a Windows command tool,OS_ARCHis related to the configuration of VCPKG_TRIPLET on the command line above.(Optional)
set OS_ARCH=x64-windowsInstall 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_DIRwith thepulsar-client-cpppath 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_1Install 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*.debInstall pulsar-client to your project
$ npm install pulsar-clientSample 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 installNote
If you build
pulsar-client-node onwindows, you need to set the variablePULSAR_CPP_DIRfirst, then install npm (run the commandnpm install) in a Windows command-line tool.
Rebuild Pulsar client library:
$ npm run buildDocumentation
- Please see https://pulsar.apache.org/docs/en/client-libraries-node for more details about the Pulsar Node.js client.