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

 心里有事1_891 发布于 2022-12-12 19:58

所以我试图启动我的节点应用程序,但我的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)

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

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

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

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服务器正在侦听的端口(duh)后,我得到更多反馈,表明我使用的是Mongoose 3.9.4,这是最新的不稳定版本mongoose.所以我在我的模块中将模块设置为3.8.18,package.json并尝试重新安装模块.我收到了同样的错误.但是,不稳定的释放反馈现在已经消失.

3 个回答
  • 对于ubuntu用户,首先卸载moongose

    npm uninstall mongoose --save
    

    然后安装一个kerberos更新

    apt-get install libkrb5-dev
    

    然后再"安装"moongose

    npm install mongoose --save
    

    我希望这有助于那里的人.

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

    2022-12-12 20:01 回答
  • 我通过将node-gyp安装到全局范围来解决这个问题.希望能帮助到你.

    $ npm install -g node-gyp 
    

    2022-12-12 20:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有