如何更新node-gyp并/或解释“node-gyp rebuild 2> builderror.log)”?

14

我想尝试使用 Raynos 开发的 mongo-client。但是,当我在 package.json 中添加 "mongo-client" : "0.2.1" 作为依赖后,出现了以下问题:

(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

builderror log为空。如果我再次运行npm install,就会出现很多未满足的依赖项,比如:

npm WARN unmet dependency /node_modules/mongo-client requires reducible@'Raynos/reducible#v1.0.6' but will load
npm WARN unmet dependency /node_modules/reducible,

我之前没有遇到过这样的错误。GIT上也没有关于 mongo-client 的报告问题。因此,我想知道高层次上发生了什么以及如何解释此错误?

当然,我也谷歌搜索了一下。我认为这可能可以修复它:

https://github.com/TooTallNate/node-gyp/wiki/Updating-npm's-bundled-node-gyp

但是当我运行时:

$  sudo npm explore npm -g -- npm install node-gyp

我遇到了 TypeError: Bad argument 错误。

欢迎提供任何见解和指导下一步操作。

谢谢。


builderror.log 包含什么内容?(在我的情况下,它位于 node_modules/mongo-client/node_modules/mongodb/node_modules/bson/ 中) - robertklep
谢谢你指引我去一个新的地方寻找。builderror log和你的在同一个位置,但是它是空的。我更新了问题,并附上了更多安装时打印输出的上下文信息。 - cathy.sasaki
这些只是警告,并非错误。我也收到了相同的警告,但 mongo-client 似乎已经成功安装 (require("mongo-client") 可以工作),尽管我还没有进行详细测试。 - robertklep
“未满足的依赖”听起来像是个问题,哈哈。但是我还没有尝试使用它,所以它看起来应该可以工作。我会有时间在几个小时内尝试一下,看看它是否正常工作。也许这是因为Raynos需要以不同的方式打包它? - cathy.sasaki
是的,我认为是这样的。根据它的 package.json,有一堆自定义依赖项会让 npm 感到困惑(但它会尝试通过安装非自定义版本来做正确的事情)。不过,一旦你尝试了它,它仍然可能失败得很惨,但只有一种方法可以找出答案 :) - robertklep
我刚试着运行他们在npm上的示例代码。即使尝试单独安装依赖项,仍然存在太多问题。我现在会使用其他东西,也许会在github上开一个问题。我可以关闭这个问题,或者如果你想用评论中的内容正式回答它,我会很乐意接受。这对某人来说会很有用。 :D - cathy.sasaki
3个回答

6
安装mongo-client时,我也会收到相同的消息,但这些只是警告而不是错误,所以npm会继续执行。
这些警告与一些自定义依赖项有关(请参见mongo-clientpackage.json#L19)。npm无法解析它们,但它会尝试安装非自定义版本的这些依赖项(并且通过警告来告诉你)。
安装后可能会工作,也可能不会。 我最远已经运行了require('mongo-client'),它没有引发任何错误,但在实际使用时仍可能遇到问题。
也许mongo-client的作者有理由包含这些自定义依赖项,但他们真的应该作为他自己模块的一部分被包含,或者他应该使用一个适当的位置(如Github存储库),从中npm可以安装它们。

0

是否有 mongod 实例正在运行?

我在安装 mongodb 驱动程序时收到了一个 (node-gyp rebuild 2> builderror.log) || (exit 0) 消息,而此时 mongod 实例正在运行。停止 mongod 后,我不再收到该消息。


0

我在安装gulp及其依赖时遇到了同样的问题。我通过更新npm包来解决它。尝试执行:npm install -g npm


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接