我尝试按以下方式运行打字稿example,导致以下错误:
$ mongod --dbpath /home/u/databases
$ npm install
$ tsc --sourcemap --module commonjs app.ts
$ node app.js
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
========================================================================================
= Please ensure that you set the default write concern for the database by setting =
= one of the options =
= =
= w: (value of > -1 or the string 'majority'), where < 1 means =
= no write acknowledgement =
= journal: true/false, wait for flush to journal before acknowledgement =
= fsync: true/false, wait for flush to file system before acknowledgement =
= =
= For backward compatibility safe is still supported and =
= allows values of [true | false | {j:true} | {w:n, wtimeout:n} | {fsync:true}] =
= the default value is false which means the driver receives does not =
= return the information of the success/error of the insert/update/remove =
= =
= ex: new Db(new Server('localhost', 27017), {safe:false}) =
= =
= http://www.mongodb.org/display/DOCS/getLastError+Command =
= =
= The default of no acknowledgement will change in the very near future =
= =
= This message will disappear when the default safe is set on the driver Db =
========================================================================================
/home/u/tmp/TypeScriptSamples/imageboard/app.js:9
app.configure(function () {
^
TypeError: Object function (req, res, next) {
app.handle(req, res, next);
} has no method 'configure'
at Object.<anonymous> (/home/u/tmp/TypeScriptSamples/imageboard/app.js:9:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:929:3
此外,看看db.ts我认为http
文件中缺少url
和package.json
,我是对的吗?
如何用mongodb修复上述错误?
答案 0 :(得分:7)
首先从node_modules
中删除bson文件夹并运行此命令:
sudo apt-get install gcc make build-essential
然后重新启动{j}等{1}}之类的nodejs文件。希望它有用
答案 1 :(得分:1)
查看db.ts我认为package.json文件中缺少http和url,我是对的吗?
没有。这些模块是核心nodejs的一部分。
错误的来源是package.json,指定在兼容版本锁中没有向后的最小数字。 https://github.com/Microsoft/TypeScriptSamples/blob/master/imageboard/package.json#L6我会将'&gt; ='更改为更难的版本,例如3.x