gpt4 book ai didi

javascript - Node.js 的 "os"模块没有 userInfo() 方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:16:04 30 4
gpt4 key购买 nike

我想使用 "os" module从node.js 到除其他外,使用 userInfo() 方法。但该方法似乎不存在,即使 API specification明确指出确实如此。

具体来说,当我尝试使用使用该方法的文件时,出现类型错误“os.userinfo 不是函数”。例如,如果我尝试导入以下简单文件

const os = require('os');
const user = os.userInfo();

我收到错误消息

Uncaught TypeError: os.userInfo is not a function

如果我尝试控制台记录操作系统模块,这很明显,因为这没有显示任何 userInfo 方法,但它应该显示?

代码正在 React SPA 中使用 docker 运行,该 docker 运行 Node 版本 11.12.0。

此外,如果有任何帮助,我正在尝试实现类似 this 的东西。

第二次编辑:我的问题被标记为 this question 的重复项, 但这种情况并非如此。该用户错误是由于使用旧版本(<6.00)的 Node 引起的,并且最上面的答案使用了已弃用的 Node 模块。

最佳答案

由于我的上一个答案被删除(大概是因为我问了一个反问句),我将澄清:

您提到:

the code is being run in a React SPA, using docker, which is running the node.....

如果您尝试调用 os.userInfo()从客户端(React)代码来看,你不能使用在浏览器中运行的 Javascript 来做到这一点,这将是一个安全缺陷。该方法仅存在于 NodeJS 中(它在 V8 周围有一个特殊的包装器,用于与操作系统的一般交互,例如 fs 模块等)。

您只能从NodeJS 服务器调用该函数。通过上述函数或 process.env['USER']; 获取 Electron 中的 userInfo (正如您在对我的答案的评论中提到的)应该相对简单。适用于基于 UNIX 的系统,因为 Electron 是使用 NodeJS 构建的。

关于javascript - Node.js 的 "os"模块没有 userInfo() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56152068/

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