mongoose - npm install mongoose 失败(kerberos 和 bson 错误)

标签 mongoose npm kerberos bson node-gyp

因此,我尝试启动我的节点应用程序,但我的 MongoDB 安装出现了一些错误。

以下是我的开发环境的规范:

node => 0.10.33(从nodejs.org安装)

npm => 1.4.28(从nodejs.org安装)

git => 2.1.3(自制)

mongodb => 2.6.5(自制)

如果有什么不同,我也使用 Mean Stack Skeleton作为教程的一部分。

简而言之,当我尝试使用 $ node app.js 运行我的节点应用程序时,我得到以下反馈:

USER$ npm install mongoose

> kerberos@0.0.4 install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
  SOLINK_MODULE(target) Release/kerberos.node: Finished

> bson@0.2.15 install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/bson.node
  SOLINK_MODULE(target) Release/bson.node: Finished
mongoose@3.8.18 node_modules/mongoose
├── regexp-clone@0.0.1
├── muri@0.3.1
├── sliced@0.0.5
├── hooks@0.2.1
├── mpath@0.1.1
├── mpromise@0.4.3
├── ms@0.1.0
├── mquery@0.8.0 (debug@0.7.4)
└── mongodb@1.4.12 (readable-stream@1.0.33, kerberos@0.0.4, bson@0.2.15)

我检查了 kerberosbson 模块的 builderror.log 文件。然而,两者都是空的。

我发现的一些研究表明,该问题可能是因为我的 node-gyp 安装没有相应的 binding.gyp 文件。

还尝试在我的 Node.js 项目文件夹中运行 $ node-gyp configure 。这是我收到的错误:

gyp: binding.gyp not found (cwd: /Users/USER/APP) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Darwin 12.5.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "configure"
gyp ERR! cwd /Users/USER/APP
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok

知道为什么我会遇到这些问题吗?

编辑:在我的 app.js 文件中设置端口以将端口设置为 Express 服务器正在监听的端口(废话)后,我收到更多反馈表明我正在使用Mongoose 3.9.4,这是 mongoose 的最新不稳定版本。因此,我在 package.json 中将模块设置为 3.8.18 并尝试重新安装该模块。我收到了同样的错误。不过,不稳定的发布反馈现在已经消失了。

最佳答案

对于 Linux 发行版上的任何人,请确保安装了 libkrb5-dev (或您的发行版的类似软件包)。这将解决 bson 和 kerberos 的许多构建错误。

关于mongoose - npm install mongoose 失败(kerberos 和 bson 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768082/

相关文章:

react-native - 在 React Native 中删除模块的引用

javascript - 无法使用 Nest CLI 创建新项目

authentication - LSA 中 "Found no TGT' 的所有可能原因”

tomcat - 如何让 LDAP 搜索使用 Kerberos 票证来避免明文密码

mongoose - Sails.js - 是否可以完全使用 'turn off' 水线模块或使用 mongoose 而不是使用 sails-mongo?

javascript - Mongoose : How to find by date that start with a given input (like autocomplete : 25/01/2. .. , 25/01 ..)

node.js - 更改 Mongoose 流上的查询

node.js - 更新子文档中的数组 - mongoose mongodb

ios - React Native - 无法构建 DependencyGraph :Cannot read property 'root' of null

c# - 带有 Windows 身份验证和 SSL 的 WCF