在VS代码中debuggingTypescript / Javsacript Mongodb会给出错误:ENOTDIR:不是目录stat
Mac OS 10.12.6,来自brew v8.5.0的节点,用brew安装的npm v5.3.0,Visual Studio Code v1.16.1,tsc 2.4.1
我正在尝试运行以下代码片段:
import { MongoClient } from 'mongodb'; MongoClient.connect('<url>', (err, db) => console.log(err) );
在运行带节点的程序的bashterminal中, 给出预期的结果 :null。
但在Visual Studio代码中,使用以下debuggingconfiguration:
"type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceRoot}/src/17_Mongo.js"
给出以下错误:
Error: ENOTDIR: not a directory, stat '/Users/alexbjorlig/Documents/SolidFlow/streamRD/node_modules/mongodb-core/index.js/package.json' at fs.existsSync (fs.js:329:13) at find_package_json (/Users/alexbjorlig/Documents/SolidFlow/streamRD/node_modules/require_optional/index.js:14:9) at find_package_json_with_name (/Users/alexbjorlig/Documents/SolidFlow/streamRD/node_modules/require_optional/index.js:34:20) at require_optional (/Users/alexbjorlig/Documents/SolidFlow/streamRD/node_modules/require_optional/index.js:69:13) at Object.<anonymous> (/Users/alexbjorlig/Documents/SolidFlow/streamRD/node_modules/mongodb-core/index.js:6:20) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3)
要解决这个问题,我试过了:
- 升级节点和npm
- 从头开始创buildpackage.json,只用mongodb作为依赖项
我能从这里尝试什么? 这个问题可能重复,但更新的build议并没有帮助我。
编辑1:我的package.json文件:
"dependencies": { "mongodb": "^2.2.31" }
编辑-2:我的tscconfig.json:
{ "compileOnSave": true, "compilerOptions": { "target": "es5", "lib": [ "es2016", "dom" ], "module": "commonjs", "watch": true, "moduleResolution": "node", "sourceMap": true }, "exclude": [ "node_modules", "functions/node_modules", "node_modules" ]
}