You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 7中使用npm安装zmq包失败求助

解决CentOS7下npm install -g zmq编译报错(g不识别-std=gnu14)

问题根源

CentOS7默认自带的GCC/G版本为4.8.5,该版本仅支持到C11标准,而zmq Node.js包的编译需要C++14支持,因此会出现g++: error: unrecognized command line option '-std=gnu++14'的错误。你之前安装的Development Tools包含的仍是这个旧版本编译器,所以无法解决问题。

解决方案

步骤1:升级GCC/G++版本

通过CentOS的软件集合(SCL)源安装更高版本的编译器(以GCC 7为例,完全支持C++14):

  1. 安装SCL源:
sudo yum install centos-release-scl -y
  1. 安装GCC 7及对应的C++编译器:
sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++ -y
  1. 临时启用新版本编译器(仅当前Shell会话生效):
scl enable devtoolset-7 bash
  • 如果需要永久生效,将启用命令添加到用户环境配置文件:
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc

执行后重新登录Shell即可。

步骤2:重新安装zmq

在启用了新版本编译器的Shell中,执行全局安装命令:

npm install -g zmq

可选优化:先安装系统级ZeroMQ库

提前安装系统的ZeroMQ开发库,可以避免node-gyp从零编译ZeroMQ源码,提升安装成功率:

sudo yum install zeromq-devel -y

再执行npm install -g zmq即可。


内容的提问来源于stack exchange,提问作者msrajwat298

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:20:26