0

ノードは初めてで、ラズベリーパイで試しています。最新バージョンをインストールしました ( http://nodejs.org/dist/v0.9.9/node-v0.9.9-linux-arm-pi.tar.gz )

およびnpmがsqlite3をインストールしました(作成およびインストールも)

私は今、次のコードを実行しようとしています:

var http    = require("http");
var sqlite3 = require("sqlite3").verbose();
var port    = 1337;
var ip  = "192.168.2.15";

http.createServer(function (req, res) {
    res.writeHead(200, {"Content-Type": "text/plain"});

    var db = new sqlite3.Database(":memory:");

    db.serialize(function() {
        db.run("CREATE TABLE lorem (info TEXT)");
        console.log("CREATE");
        var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
        for (var i = 0; i < 10; i++) {
            stmt.run("Ipsum " + i);
        }
        stmt.finalize();
        console.log("START SELECT [");
        db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
            console.log(row.id + ": " + row.info);
        });
        console.log("] END SELECT");
    });
    console.log("CLOSE");

    db.close();

    res.end("Hello World.");

}).listen(port, ip);

console.log("Server running at http://" + ip + ":" + port);

私が得る出力は次のとおりです。

Server running at http://192.168.2.15:1337
CREATE
START SELECT [
] END SELECT
CLOSE
1: Ipsum 0
2: Ipsum 1
3: Ipsum 2
4: Ipsum 3
5: Ipsum 4
6: Ipsum 5
7: Ipsum 6
8: Ipsum 7
9: Ipsum 8
10: Ipsum 9
*** glibc detected *** node: free(): corrupted unsorted chunks: 0x0072fe28 ***
Aborted

私の仮定は、私が使用しているにもかかわらず競合状態にある、db.serializeまたはこれが pi で動作しないということです (ただし、sqlite3 は正常にコンパイルされました)。

ありがとう

4

1 に答える 1