尝试全局安装mongodb或mongoose会导致Kerberos缺少对等项依赖
Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb
/usr/local/lib
└─┬ [email protected]
└── UNMET PEER DEPENDENCY kerberos@~0.0
npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed.
Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb
- [email protected] node_modules/mongodb/node_modules/kerberos/node_modules/nan
- [email protected] node_modules/mongodb/node_modules/kerberos
/usr/local/lib
└─┬ [email protected]
└── UNMET PEER DEPENDENCY kerberos@~0.0
npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed.
Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongoose
/usr/local/lib
└─┬ [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── UNMET PEER DEPENDENCY kerberos@~0.0
│ ├── [email protected]
│ └─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed.
有谁知道如何解决这个问题?如果手动安装,则必须在每次更新时都进行安装。
另外,我找不到报告该错误的地方...
我只需要运行就npm install --save kerberos mongodb
可以在项目中成功安装mongodb。我认为您也可以在全球范围内进行操作,但是可能还有其他问题。
从mongodb NPM软件包文档中:
kerberos软件包是C ++扩展,需要在系统上安装构建环境。您必须能够构建node.js本身,才能编译和安装kerberos模块。此外,kerberos模块需要MIT Kerberos软件包才能在UNIX操作系统上正确编译。请咨询UNIX操作系统软件包管理器以安装哪些库。
它继续提供以下步骤来诊断基于UNIX的操作系统上的问题:
如果您没有构建要领,则将无法构建。对于linux,您将需要gcc和g ++,带有所有标头和python的node.js。找出缺少的最简单的方法是尝试构建kerberos项目。您可以通过执行以下步骤来做到这一点。
git clone https://github.com/christkv/kerberos.git
cd kerberos
npm install
如果完成所有步骤,则说明您已安装正确的工具链。如果找不到node-gyp,则需要通过全局安装它。
npm install -g node-gyp
如果正确编译并运行测试,那么您会很满意。现在,我们可以尝试通过执行以下命令来安装mongod驱动程序。
cd yourproject
npm install mongodb --save
如果仍然失败,则下一步是检查npm日志。重新运行命令,但在这种情况下为详细模式。
npm --loglevel verbose install mongodb
这将打印出npm在尝试安装模块时正在执行的所有步骤。
其他可能的问题:
您的python安装可能被软管弄坏了gyp。我总是建议您首先尝试通过在所讨论的服务器上构建节点本身来测试部署环境,因为这应该可以发现损坏的程序包的所有问题(并且那里有很多损坏的程序包)。
另一件事是要确保您的用户对节点模块的安装位置具有写权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句