我使用下面的代码来测试couchbase
var couchbase = require('couchbase');
var db = new couchbase.Connection({
bucket: "default"
},
function(err) {
if (err) throw err;
db.set('testdoc1', {
name: 'Frank1'
}, function(err, result) {
if (err) throw err;
db.get('testdoc1', function(err, result) {
if (err) throw err;
console.log(result.value);
// {name: Frank}
});
});
});
但报告
/Users/mymac/node_modules/couchbase/lib/binding.js:17
throw e;
^
Error: dlopen(/Users/mymac/node_modules/couchbase/prebuilt/win/x64/couchbase_impl.node, 1): no suitable image found. Did find:
/Users/mymac/node_modules/couchbase/prebuilt/win/x64/couchbase_impl.node: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at bindings (/Users/mymac/node_modules/couchbase/node_modules/bindings/bindings.js:74:15)
at tryLoadBinding (/Users/mymac/node_modules/couchbase/lib/binding.js:13:31)
at Object.<anonymous> (/Users/mymacg/node_modules/couchbase/lib/binding.js:31:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
欢迎评论
答案 0 :(得分:3)
0x4d 0x5a
是Windows可执行文件的文件签名,换句话说,您的couchbase节点客户端安装不适用于Mac,适用于Windows。
这似乎也是道路的说法;
prebuilt/win/x64
此问题可能是由于node_modules目录在Windows计算机上检入源控件并在mac上检出而不是使用package.json进行本地安装。
答案 1 :(得分:0)
我能够解决这个问题,在OS X 10.9.5上使用xcode 6.0.1
安装libcouchbase的新副本:
$ brew install libcouchbase
这会将libcouchbase安装到/usr/local/Cellar/libcouchbase/2.4.1
(或当前的任何版本)。
接下来通过npm
$ npm install --couchbase-root=/usr/local/Cellar/libcouchbase/2.4.1 couchbase
答案 2 :(得分:0)
/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/lib/binding.js:17
throw e;
^
Error: dlopen(/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/prebuilt/win/x64/couchbase_impl.node, 1): no suitable image found. Did find:
/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/prebuilt/win/x64/couchbase_impl.node: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00
at Error (native)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at bindings (/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/node_modules/bindings/bindings.js:74:15)
at tryLoadBinding (/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/lib/binding.js:13:31)
at Object.<anonymous> (/Users/csun/dev/projects/cashier-api/cashier-api-site/node_modules/couchbase/lib/binding.js:31:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
我得到了相同的情况,通过在我的项目中使用节点0.10而不是0.12来解决。这意味着您的问题可以通过更改节点版本或couchbase版本来解决。
我的沙发基地版本是 ├─┬couchbase@1.2.4 │├──bounds@1.0.0