Mac OS X上的节点js couchbase计数器功能绑定问题

时间:2015-02-12 07:50:47

标签: node.js macos couchbase

我正在尝试使用Node.js和couchbase做一些事情,并使用here中的SDK。

但是,我遇到了在桶上运行'counter'方法的问题。 我正在运行Mac Os X 10.9.5并使用couchbase v2.0.5

这是我的测试程序:

var couchbase = require('couchbase');
var connection = new couchbase.Cluster('couchbase://myhostname'); 
var bucket = connection.openBucket();

bucket.counter('test', 1, {initial:1}, function(err, res) {
    console.log(err);
    console.log(res);
});

当我想运行它时,我遇到了绑定问题,所以看来:

dyld: lazy symbol binding failed: Symbol not found: _ntohll
    Referenced from: <somepath>/node_modules/couchbase/build/Release/couchbase_impl.node
    Expected in: dynamic lookup

dyld: Symbol not found: _ntohll
    Referenced from: <somepath>/node_modules/couchbase/build/Release/couchbase_impl.node
    Expected in: dynamic lookup

Trace/BPT trap: 5

其他方法,例如insert,upsert,get,...工作得很好,但'counter'方法给了我这个特殊的问题。

有关如何解决此事的任何想法?

1 个答案:

答案 0 :(得分:3)

显然,在Mac OS X 10.10上执行此操作时,该库可以正常运行。 在10.9.5,它给出了这个特殊的问题。

我设法自己解决了这个问题。 供参考:我是如何在Mac OS X 10.9上解决这个问题的

node_modules/couchbase/deps/lcb/gyp_config/mac/x64/config.h中,我删除了以下代码行:

/* Have ntohll */
#include <arpa/inet.h>
#define HAVE_HTONLL

运行手动node-gyp安装后,一切都像魅力

cd node_modules/couchbase
node-gyp install && node-gyp build

如果您没有node-gyp,可以使用

进行安装
npm install -g node-gyp