检查libpam头文件是否可用
在我的Node.js应用程序中,我使用了pamauthentication,我使用的模块需要安装libpam-dev(或者pam-devel),否则将不能编译。 它产生的错误信息不是非常用户友好的,许多人不会为阅读文档而烦恼。
我想使用NPM中的预安装钩子检查头是否可用,如果没有,显示一个友好的错误,然后杀死NPM,然后再尝试安装模块。
我知道如何杀死NPM,而不是如何检查pam头是否可用。 解决scheme应该是distro-agnostic。
我结束了这样做:
的package.json:
{ "scripts": { "preinstall": "./bin/install_check.sh" } }
斌/ install_check.sh:
#!/bin/bash if [ `echo '#include <security/pam_appl.h>' | cpp -H -o /dev/null 2>&1 | head -n1 | grep 'fatal error' | wc -l` == "1" ]; then echo "nodeftpd: Please install the libpam-dev package"; exit 1; fi
我无法弄清楚如何避免需要一个单独的脚本。