node.js找不到'neo4j'模块(Thingdom)

时间:2016-03-07 15:36:25

标签: javascript node.js neo4j

经过多次尝试,我无法将node.js连接到计算机中安装的Neo4j。我可以单独访问它们,并且都可以正常工作。我已经在我的Node.js目录中安装了目录中的Thingdom('neo4j')模块,但是当require('neo4j')打印出错误时。

Image of my Node.js folder with Neo4j installed in modules

var neo4j = require("neo4j");
var db = new neo4j.GraphDatabase("http://localhost:7474");

var node = db.createNode({hello: 'world'});     // instantaneous, but...
node.save(function (err, node) {    // ...this is what actually persists.
    if (err) {
        console.error('Error saving new node to database:', err);
    } else {
        console.log('Node saved to database with id:', node.id);
    }
});

当在cmd:“node index.js”中使用时,它会抛出这个错误:

C:\Users\RRamos\Documents\Projects\test-neo4j>node index.js
module.js:341
    throw err;
    ^

Error: Cannot find module 'neo4j'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (C:\Users\RRamos\Documents\Projects\test-neo4j\index.js:1:75)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。由于这篇文章中没有解决方案,我只想添加我的。

运行Id area 1 W 2 E $ npm init后,我将neo4j example code复制并粘贴到 index.js 中:

$ npm install --save neo4j-driver

然后我在运行var neo4j = require("neo4j"); var db = new neo4j.GraphDatabase('http://neo4j:<password>@localhost:7474'); 时遇到了同样的错误。

在我的 package.json 中,我找到了:

$ node index.js

"dependencies": { "neo4j-driver": "^1.1.0-M02" } 而不是neo4j-driver。所以在 index.js

中替换它
neo4j

现在你将摆脱var neo4j = require("neo4j-driver"); var db = new neo4j.GraphDatabase('http://neo4j:<password>@localhost:7474'); 错误!

此外,如果您使用1.1版本的neo4j-driver(适用于Neo4j 3.0.0+),您可能会收到此错误:

Cannot find module 'neo4j'

似乎var db = new neo4j.GraphDatabase('http://neo4j:<password>@localhost:7474'); ^ TypeError: neo4j.GraphDatabase is not a constructor at Object.<anonymous> (D:\Codes\neo4j_test\server.js:2:10) at Module._compile (module.js:541:32) at Object.Module._extensions..js (module.js:550:10) at Module.load (module.js:458:32) at tryModuleLoad (module.js:417:12) at Function.Module._load (module.js:409:3) at Module.runMain (module.js:575:10) at run (bootstrap_node.js:352:7) at startup (bootstrap_node.js:144:9) at bootstrap_node.js:467:3 仅适用于neo4j-driver的旧版本。

这是the up-to-date tutorial of neo4j-driver

请改用以下代码:

neo4j.GraphDatabase