0
我是新來的節點,並試圖在我的覆盆子pi。 我已經安裝了最新版本(http://nodejs.org/dist/v0.9.9/node-v0.9.9-linux-arm-pi.tar.gz)node.js和sqlite3的網絡應用程序,損壞的未分類塊:/
和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的那樣編譯正常)
感謝
它看起來像一個已知的問題:https://github.com/developmentseed/node-sqlite3/issues/126由於它提出的問題始於節點0.10,您可能會恢復到一箇舊版本的節點(0.8.x),直到問題解決。 – robertklep 2013-03-27 08:10:05
謝謝,我使用的是0.9.9,但我會嘗試更早的版本,看看它是如何發展的。 – mikernz 2013-03-27 08:53:39
是的,你是對的!我降級到0.8.17(http://nodejs.org/dist/v0.8.17/node-v0.8.17-linux-arm-pi.tar.gz),它很甜蜜。謝謝! – mikernz 2013-03-28 00:35:20