gpt4 book ai didi

node.js - mongodb kerberos 对等依赖

转载 作者:IT老高 更新时间:2023-10-28 11:08:19 24 4
gpt4 key购买 nike

尝试全局安装 mongodb 或 mongoose 会导致缺少 Kerberos 的对等依赖项

Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb
/usr/local/lib
└─┬ mongodb@2.0.48
└── UNMET PEER DEPENDENCY kerberos@~0.0

npm WARN EPEERINVALID mongodb-core@1.2.21 requires a peer of kerberos@~0.0 but none was installed.
Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb
- nan@2.0.9 node_modules/mongodb/node_modules/kerberos/node_modules/nan
- kerberos@0.0.17 node_modules/mongodb/node_modules/kerberos
/usr/local/lib
└─┬ mongodb@2.0.48
└── UNMET PEER DEPENDENCY kerberos@~0.0

npm WARN EPEERINVALID mongodb-core@1.2.21 requires a peer of kerberos@~0.0 but none was installed.
Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongoose
/usr/local/lib
└─┬ mongoose@4.2.5
├── async@0.9.0
├── bson@0.4.19
├── hooks-fixed@1.1.0
├── kareem@1.0.1
├─┬ mongodb@2.0.48
│ ├── es6-promise@2.1.1
│ ├── UNMET PEER DEPENDENCY kerberos@~0.0
│ ├── mongodb-core@1.2.21
│ └─┬ readable-stream@1.0.31
│ ├── core-util-is@1.0.1
│ ├── inherits@2.0.1
│ ├── isarray@0.0.1
│ └── string_decoder@0.10.31
├── mpath@0.1.1
├── mpromise@0.5.4
├─┬ mquery@1.6.3
│ ├── bluebird@2.9.26
│ └── debug@2.2.0
├── ms@0.7.1
├── muri@1.0.0
├── regexp-clone@0.0.1
└── sliced@0.0.5

npm WARN EPEERINVALID mongodb-core@1.2.21 requires a peer of kerberos@~0.0 but none was installed.

有谁知道如何解决这个问题?如果您手动安装,那么您必须在每次更新时都这样做。

另外,我找不到报告错误的地方...

最佳答案

我只需要运行 npm install --save kerberos mongodb 就可以在我的项目中成功安装 mongodb。我假设您也可以在全局范围内执行此操作,但可能还有其他问题。

来自 mongodb NPM package文档:

The kerberos package is a C++ extension that requires a build environment to be installed on your system. You must be able to build node.js itself to be able to compile and install the kerberos module. Furthermore the kerberos module requires the MIT Kerberos package to correctly compile on UNIX operating systems. Consult your UNIX operation system package manager what libraries to install.

它继续提供以下步骤来诊断基于 UNIX 的操作系统上的问题:

如果您没有构建必需品,它将无法构建。对于 linux,您将需要 gcc 和 g++、node.js 以及所有 header 和 python。找出缺失的最简单方法是尝试构建 kerberos 项目。您可以通过执行以下步骤来做到这一点。

git clone https://github.com/christkv/kerberos.git
cd kerberos
npm install

如果所有步骤都完成,您就安装了正确的工具链。如果你得到 node-gyp not found 你需要通过做全局安装它。

npm install -g node-gyp

如果正确编译并运行测试,你就是黄金。我们现在可以尝试通过执行以下命令来安装 mongod 驱动程序。

cd yourproject
npm install mongodb --save

如果仍然失败,下一步是检查 npm 日志。重新运行命令,但在本例中为详细模式。

npm --loglevel verbose install mongodb

这将打印出 npm 在尝试安装模块时执行的所有步骤。

其他可能的问题:

您的 python 安装可能会导致 gyp 中断。我总是建议您首先通过尝试在相关服务器上构建 Node 本身来测试您的部署环境,因为这应该会发现损坏包的任何问题(并且那里有很多损坏的包)。

另一件事是确保您的用户对安装 Node 模块的位置具有写入权限。

关于node.js - mongodb kerberos 对等依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33642666/

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