使用Authenticate-PAM

问题描述 投票:0回答:1

相似的问题建议删除

node_modules
目录的内容并再次运行
npm install
npm rebuild authenticate-pam --update-binary
。在我的情况下,所有这些都无法使用(Ubuntu 22.04运行Node.js v17.9.1)。启动应用程序时,我总是得到

Error: The module '.../node_modules/authenticate-pam/

build/Release/authenticate_pam.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 102. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/media/Daten1/Code/GitLab/scanapp/app/index.js:7:13)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}

I发现[1] node_module_version 102是我系统上安装的版本,而node_module_version 72是版本v12.22.12(也许该模块最初是针对构建的)。

我如何解决这个问题?还是还有其他方法可以使用PAM来验证我的节点应用程序的用户?

[1]

https://nodejs.org/en/about/previous-releases

node.js pam
1个回答
0
投票

由于Ubuntu 22.04的Node版本很旧(12.22.9),我决定使用SNAP安装节点。但是,我安装了

node-gyp

,这是

authenticate-pam
的要求 - 不用牢记节点实际上来自snap-使用apt。
解决方案

sudo npm install -g node-gyp

现在从上面解决了问题,可以使用:
可以使用:

authenticate-pam

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.