文档

  语言:   库:

下载

请按照以下说明下载并安装所选的 ZeroMQ 库。

OS X

您需要安装并配置 Brew https://brew.sh.cn/

brew install zmq

czmq 和 zyre 也可用。

Linux

Fedora

dnf install zeromq-devel

Ubuntu/Debian/Mint

apt-get install libzmq3-dev

Arch

pacman -S zeromq

SUSE

zypper install zeromq-devel

适用于 Debian, Ubuntu, Fedora, CentOS, RHEL, SUSE 的软件包

ZeroMQ 维护者通过 Open Build Service 为 i386, amd64, armv7, arm64, ppc64, s390x 提供了 libzmq, czmq, zyre, malamute, zproject 和 zproto 的预构建二进制软件包,这些软件包自动构建自最新的稳定版本或 Git 仓库中的最新提交(注意:取决于发行版)。

点击选择的发行版和版本,然后按照“前往下载仓库”的指引添加仓库。那里是仓库的 URL。请记住添加 GPG 密钥。

例如,要添加 Debian 9 并从最新的不包含 draft API 的稳定版本安装 libzmq 的开发软件包

echo "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" >> /etc/apt/sources.list
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
apt-get install libzmq3-dev

从包管理器安装

Linux

DebianUbuntu 可用 Deb 软件包。

对于其他发行版,请参考 pkgs.org

您还可以在 openSUSE 的 Build Service 上获取适用于大多数发行版的最新 git master 分支的预构建二进制文件

Git master 分支仅包含稳定 API: http://software.opensuse.org/download.html?project=network%3Amessaging%3Azeromq%3Agit-stable&package=czmq

Git master 分支包含 draft API: http://software.opensuse.org/download.html?project=network%3Amessaging%3Azeromq%3Agit-draft&package=czmq

macOS

在 macOS 上使用 Homebrew 安装 czmq,请参见此处

Windows

使用 vcpkg

如果您已经在使用 vcpkg,可以使用一个命令下载并安装 czmq

vcpkg.exe install czmq

这将把 czmq 构建为 32 位共享库。

vcpkg.exe install czmq:x64-windows-static

这将把 czmq 构建为 64 位静态库。

您还可以使用一个或多个可选库构建 czmq

vcpkg.exe install czmq[curl,httpd,lz4]:x64-windows

这将把 czmqlibcurl, libmicrohttpd, lz4 一起构建为 64 位共享库。

要使用 draft API,您可以构建具有 draft 特性的 czmq

vcpkg install czmq[draft]

如果您是一位探险者,并且希望始终使用最新版本的 czmq,请传递额外的 --head 选项

vcpkg.exe install czmq --head

这些命令还将打印出有关如何在 MSBuild 或 CMake 项目中使用该库的说明。

要求

ZeroMQ 2.2.x 或更高版本。我们建议使用 ZeroMQ >= 3。C++11 兼容编译器。(g++ >= 4.7)

命令行客户端和测试还需要 libboost。

安装

可以使用标准的 make && make install 进行安装。如果安装了 boost 单元测试框架,可以运行 checkinstallcheck 进行健全性检查。要在 ZMQPP 之前使用 ZMQ4 安全特性,请按照如下所示安装 libsodium 和 libzmq –with-libsodium。

构建、检查和安装 libsodium

git clone git://github.com/jedisct1/libsodium.git cd libsodium ./autogen.sh ./configure && make check sudo make install sudo ldconfig cd ../

构建、检查和安装最新版本的 ZeroMQ

git clone git://github.com/zeromq/libzmq.git cd libzmq ./autogen.sh ./configure –with-libsodium && make sudo make install sudo ldconfig cd ../

现在安装 ZMQPP

git clone git://github.com/zeromq/zmqpp.git cd zmqpp make make check sudo make install make installcheck

最常用的覆盖选项是设置 CXX 来改变使用的编译器,以及设置 PREFIX 来改变安装位置。CXX 前缀应在所有目标上使用,因为编译器版本会用于构建路径。PREFIX 仅与安装目标相关。

cppzmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/cpp/cppzmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

构建与安装

构建需要最新版本的 CMake(Visual Studio 需要 2.8.12 或更高版本,其他需要 2.8 或更高版本)以及支持 C++11 的 C++ 编译器。目前已在以下环境测试过 -

  • Xcode 5.1 on OS X 10.8
  • Xcode 6 on OS X 10.9
  • Xcode 6.4 on OS X 10.10
  • Xcode 7.1 on OS X 10.11
  • GCC 4.8 + Boost 1.48 on CentOS 6
  • GCC 4.8 + Boost 1.53 on CentOS 7
  • GCC 4.8 on Arch Linux and Ubuntu
  • GCC 4.8 on Ubuntu
  • GCC 5.3 + Boost 1.60 on Ubuntu
  • Microsoft Visual Studio 2013 on Windows Server 2008 R2

库依赖项为 -

  • Boost 1.48 or later
  • ZeroMQ 4.0.x

测试和示例代码需要 -

  • Boost 1.54 or later

在 Linux / OS X 上构建 -

$ mkdir build && cd build
$ cmake ..
$ make
$ make test
$ make install

在 Windows 上构建 -

> mkdir build
> cd build
> cmake ..
> cmake --build . --config Release
> ctest . -C Release

调用 CMake 后,您也可以从 build 目录中打开 Visual Studio 解决方案。

调用 CMake 时,使用 -DCMAKE_INSTALL_PREFIX 来改变默认安装位置。

调用 CMake 时,使用 -DBOOST_ROOT=<my custom Boost install>-DZMQ_ROOT=<my custom ZeroMQ install> 来改变构建查找 Boost 和 ZeroMQ 的位置。或者设置 BOOST_ROOTZMQ_ROOT 环境变量。

czmqpp 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/cpp/czmqpp
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md
fbzmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/cpp/fbzmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

安装

您可以通过 NuGet 下载 NetMQ。

clrzmq4 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/csharp/clrzmq4
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

安装

安装 libzmq.

为 Flutter 运行此命令

flutter pub add dartzmq

更多信息请访问 pub.dev

安装

您可以通过在 rebar.config 中包含以下内容从 hex.pm 安装 chumak

{deps,[
	{chumak, "X.Y.Z"}
]}.

其中 X.Y.Z 是其中一个发布版本

有关 rebar3 依赖项的更多信息,请参阅rebar3 文档

ezmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/erlang/ezmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md
erlang-czmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/erlang/erlang-czmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md
FsNetMQ 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/fsharp/fsnetmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md
fszmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/fsharp/fszmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

要求

zmq4 只是 ZeroMQ 库的一个封装。它不包含库本身。因此您需要安装 ZeroMQ,包括其开发文件。在 Linux 和 Darwin 上,您可以使用($ 是命令提示符)进行检查

$ pkg-config --modversion libzmq
4.3.1

Go 编译器必须能够编译 C 代码。您可以使用此命令检查

$ go env CGO_ENABLED
1

您不能进行交叉编译。那将禁用 C。

Windows

使用 CGO_CFLAGSCGO_LDFLAGS 环境变量构建,例如

$env:CGO_CFLAGS='-ID:/dev/vcpkg/installed/x64-windows/include'
$env:CGO_LDFLAGS='-LD:/dev/vcpkg/installed/x64-windows/lib -l:libzmq-mt-4_3_4.lib'

使用 libzmq-mt-4_3_4.dll 部署结果程序

安装

go get github.com/pebbe/zmq4

安装

依赖项

适用于 CZMQ master

go get github.com/zeromq/goczmq

关于构建标签的说明

CZMQ 库包含默认不构建的实验性类,但可以通过向 configure 传递 --enable-drafts 来构建。正在将对这些 draft 类的支持添加到 goczmq 中。要针对已使用 --enable-drafts 编译的 CZMQ 构建这些特性,请使用 go build -tags draft

适用于 CZMQ = 4.2

go get gopkg.in/zeromq/goczmq.v4

注意:CZMQ 4.2 尚未发布。

适用于 CZMQ 4.0 之前版本

go get gopkg.in/zeromq/goczmq.v1
zeromq4-haskell 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/haskell/zeromq4-haskell
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

用法

Maven

将其添加到您的 Maven 项目的 pom.xml

<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<version>0.5.3</version>
</dependency>

<!-- for the latest SNAPSHOT -->
<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jeromq</artifactId>
<version>0.6.0-SNAPSHOT</version>
</dependency>

<!-- If you can't find the latest snapshot -->
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

Ant

要从 pom.xml 生成 ant 构建文件,请发出以下命令

mvn ant:ant
JZMQ 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/java/jzmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md
jczmq 的下载示例缺失。您想贡献吗?请按照以下步骤操作

    git clone https://github.com/zeromq/zeromq.org
    example_dir=content/docs/examples/java/jczmq
    cd zeromq.org && mkdir -p $example_dir
    [ -s $example_dir/index.md ] || cat >$example_dir/index.md <<'EOF'
---
headless: true
---
EOF
    cp archetypes/examples/download.md
    $example_dir/download.md

安装

安装包含预构建二进制文件的 ZeroMQ.js

npm install zeromq@6.0.0-beta.17

使用预构建二进制文件的要求

  • Node.js 10.2+ 或 Electron 3+(需要 N-API 版本 3+)

预构建二进制文件

以下平台提供预构建二进制文件

  • Linux on x86-64 with libstdc++.so.6.0.21+ (glibc++ 3.4.21+), for example
  • Debian 9+ (Stretch or later)
  • Ubuntu 16.04+ (Xenial or later)
  • CentOS 8+
  • Linux on x86-64 with musl, for example
  • Alpine 3.3+
  • MacOS 10.9+ on x86-64
  • Windows on x86/x86-64

如果您的平台没有可用的预构建二进制文件,安装将尝试从源代码构建。

从源代码构建

如果预构建二进制文件不可用或您想在构建期间传递特定选项,您可以从源代码构建此软件包。

在尝试从源代码构建之前,请确保已安装以下内容

  • Node.js 10+ or Electron 3+
  • A working C++17 compiler toolchain with make
  • Python 3 with Node 12.13+ (or legacy Python 2.7)
  • CMake 2.8+
  • curl

从源代码安装

npm install zeromq@6.0.0-beta.17 --build-from-source

如果您想链接共享 ZeroMQ 库,可以跳过下载 libzmq 并改为链接已安装的库,如下所示

npm install zeromq@6.0.0-beta.17 --zmq-shared

如果您希望使用任何 DRAFT socket,则还需要从源代码编译该库

npm install zeromq@6.0.0-beta.17 --zmq-draft

安装

cpanm -v ZMQ::FFI

下载

除非您专门想开发 PyZMQ,否则我们建议从 PyPI 下载 PyZMQ 源代码或 wheels,或者使用 conda 安装。

您还可以从我们的 GitHub 仓库获取最新的源代码,但从仓库构建需要您安装最新的 Cython。

构建与安装

有关构建 pyzmq 的更多详细信息,请参阅我们的 Wiki

我们为 macOS、Windows 和 Linux 构建 wheels,因此您可以使用以下命令在这些平台上获取二进制文件

pip install pyzmq

但使用 pip install pyzmq 从源代码编译应该在大多数环境中都有效。特别是在 macOS 上,请确保您使用的是最新版本的 pip (≥ 8),否则可能找不到正确的 wheels。

如果 wheels 因某些原因无法工作,或者您想强制编译 pyzmq(如果您已经按照您希望的方式安装和配置了 libzmq,这通常是首选),您可以使用以下命令强制安装

pip install --no-binary=:all: pyzmq

编译 pyzmq 时(例如,在 Linux 上使用 pip 安装),通常建议单独安装 zeromq,通过 homebrew、apt、yum 等工具

# Debian-based
sudo apt-get install libzmq3-dev

# RHEL-based
sudo yum install libzmq3-devel

如果这不可用,pyzmq 将尝试将 libzmq 构建为 Python 扩展,尽管这不保证有效。

从 git 仓库(包括 GitHub 上的发布标签)构建 pyzmq 需要 Cython。

安装

安装 libzmq.

gem install zmq

如果 gem 安装抱怨找不到 libzmq 或头文件,只需将您的 libzmq 安装位置传递给 gem install 命令

gem install zmq -- --with-zmq-dir=/opt/local

在 Windows 上为库添加参数。例如

gem install zmq -- --with-zmq-dir=c:/src/zeromq-4.3.2 --with-zmq-lib=c:/src/zeromq-4.3.2/src/.libs

添加到构建过程

确定要在项目中使用的库的特定发布标签

添加到 build.zig.zon 文件中,例如适用于 Zig 0.11

.{
    .dependencies = .{
        .zzmq = .{
            .url = "https://github.com/nine-lives-later/zzmq/archive/refs/tags/v0.1.0-zig0.11.tar.gz",
            .hash = "122080e22e9823dc0a4567c71553c4884978a33877c9b3d46f4594ca5f299d534f9b",
        },
    },
}

注意:如果哈希值不正确,请删除 .hash 字段,编译器错误将显示正确的值。从 Zig 0.12 开始,您还可以使用 zig fetch zzmq <url>

还需要将其添加到 build.zig 文件中

const zzmq = b.dependency("zzmq", .{
    .target = target,
    .optimize = optimize,
});

// Note: starting with zig 0.12 the function will be 
//       `exe.root_module.addImport` instead of `exe.addModule`
exe.addModule("zzmq", zzmq.module("zzmq"));

exe.linkSystemLibrary("czmq");
exe.linkLibC();

安装本地依赖项

还需要安装 CZMQ 开发库版本 4.0 或更高版本

# Building on Ubuntu, PoP_OS, ZorinOS, etc.
sudo apt install libczmq-dev

# Running on Ubuntu, PoP_OS, ZorinOS, etc.
sudo apt install libczmq