【问题标题】:Check if libpam headers are available检查 libpam 标头是否可用
【发布时间】:2013-09-20 22:11:59
【问题描述】:

在我的 Node.js 应用程序中,我使用 pam 身份验证,并且我使用的模块需要安装 libpam-dev(或 pam-devel),否则将无法编译。它生成的错误消息对用户不是很友好,而且很多人不会费心阅读文档。

我想在 NPM 中使用 preinstall 钩子来检查标头是否可用,如果没有,则显示一个友好的错误,然后在 NPM 尝试安装模块之前终止它。

我知道如何杀死 NPM,只是不知道如何检查 pam 标头是否可用。解决方案应该与发行版无关。

【问题讨论】:

    标签: node.js npm pam


    【解决方案1】:

    我最终这样做了:

    package.json:

    { 
      "scripts": {
        "preinstall": "./bin/install_check.sh"
      }
    }
    

    bin/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
    

    我无法弄清楚如何避免需要单独的脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      相关资源
      最近更新 更多