gpt4 book ai didi

node.js - 为 Node gyp 添加包含目录

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:30 26 4
gpt4 key购买 nike

我正在将一个 node-js 应用程序部署到需要 npm 包的 heroku imagemagic-native .

我让 buildpack 安装 libmagick++-dev 并导出包含路径:

export INCLUDE_PATH="$BUILD_DIR/.apt/usr/include:$INCLUDE_PATH"
export CPATH="$INCLUDE_PATH"
export CPPPATH="$INCLUDE_PATH"

在使用 npm install 安装 imagemagic-native 包后,会调用 node-gyp 来编译它的二进制文件。但是我得到这个错误:

remote:        > imagemagick-native@1.7.0 install /tmp/build_720834c3a32b65d69ae603d7c618e20f/node_modules/imagemagick-native
remote: > node-gyp rebuild
remote:
remote: make: Entering directory `/tmp/build_720834c3a32b65d69ae603d7c618e20f/node_modules/imagemagick-native/build'
remote: CXX(target) Release/obj.target/imagemagick/src/imagemagick.o
remote: In file included from ../src/imagemagick.cc:9:
remote: ../src/imagemagick.h:1:22: warning: Magick++.h: No such file or directory

这表明 gcc 看不到 libmagick++ 的头文件,因为 $CCPATH 对它不可用。

如何让 npm install 将路径添加到 node-gyp 使用的 include_dirs 列表中?

关于我的用例的更多细节在这里:Using Magick++ in a node.js application on heroku

最佳答案

尝试:

设置环境变量CXX=/path/to/g++ -Ipath/to/include

然后重新启动进程。如果你使用的是 bash,这是由

export CXX="/path/to/g++ -Ipath/to/include"

/path/to/include 是丢失的头文件 Magick++.h 所在的位置

如果这不起作用,您可能必须手动设置 CXX 以在位于/tmp/build_720834c3a32b65d69ae603d7c618e20f/node_modules/imagemagick-native/build 的 makefile 中包含 -I,然后进入该目录并调用 make。

关于node.js - 为 Node gyp 添加包含目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28333458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com