node.js - npm 安装期间 mac 10.5.8 上的 node-gyp 'pkg-config: command not found'

标签 node.js macos zeromq node-gyp pkg-config

尝试在 github 项目的 mac-osx 上安装 npm。在 packages.json 中看不到 pkg-config 为什么 node-gyp 会期望这个?似乎 node-gyp 应该包含 pkg-config。我认为这就是 Node 的工作方式。安装一个包,它会拉入它需要的任何东西。我想这在某种程度上是不同的。还想知道它正在寻找哪个版本的 pkg-config。

是的,我已经在那里下载了 tarball,但它的 mac 安装说明真的是胡说八道。它保持./configure 然后进行安装。但是 makefile 不可用,所有内容都在同一目录级别,但它说 cd 进入代码目录等。

> node-gyp rebuild

/bin/sh: pkg-config: command not found
gyp: Call to 'pkg-config libzmq --libs' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 12.5.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/Mac1/Downloads/projdirectory/node_modules/zmq
gyp ERR! node -v v0.10.35
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 
npm WARN optional dep failed, continuing zmq@2.8.0

最佳答案

这与 pkg-config npm 模块无关。这是 zmq 模块的构建失败。 /bin/sh: 位告诉你它正试图在你的 shell 上运行一个实际的命令,在这种情况下,它将是一个 pkg-config 脚本,可能在您的 /usr/local/include/zmq/opt/local/include/zmq 文件夹中找到。

找不到 pkg-config 的原因是因为 ZMQ 不是 native Node 模块,您必须确保在运行 npm install 之前已经下载并安装了 ZMQ尝试运行。

在这种情况下,您正在尝试安装 zmq 或其库之一,它们都需要在您的系统上安装 ZMQ 产品。

每当你在失败的 npm install 中看到 node-gyp 时,这是一个很好的线索,表明你正在尝试安装的是另一个本地工具的 Node 包装器你的操作系统。

编辑:查看最新安装的 zmq 后,没有 pkg​​-config 文件夹,而是......有一个 pkgconfig 文件夹。

报告了一个错误,但这并不能解决 OP 问题。如果您使用的是自制软件,则可以先运行

brew install zeromq
brew install pkgconfig

然后运行您的npm install(无论您安装的是什么zmq lib)

否则,您将不得不做一些工作从源代码重建您的 zmq 并将安装前缀添加到您的 $PATH

关于node.js - npm 安装期间 mac 10.5.8 上的 node-gyp 'pkg-config: command not found',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29023316/

相关文章:

python - 如何在Windows XP Win32上为python2.6安装pyzmq 2.1.10?

node.js - 有没有办法通过 Express + Node.js 使用多个 View 引擎

xcode - 检查服务菜单中的服务是否可用

node.js - NodeJS中接收ZMQ视频流

linux - 在 Mac 上运行 Linux 系统调用?

linux - OSX Mojave sysctl -p 非法

c++ - 不能通过引用传递给线程

node.js - eslint 不从 npm 脚本中的参数中获取文件名

node.js - 需要更好地理解 npm 行为 (>= 7)

javascript - 将 Node api 数据提供给客户端 js