概括:
我正在寻找有关如何在 package-lock.json 中查找和修复错误的策略。此错误中断npm install:
细节
我想更新我的 node_modules。所以我删除了我的 node_modules 目录,然后运行npm install. 虽然这在过去一直有效,但现在失败并出现以下错误(在 AppData\Roaming\npm-cache_logs\XXXX-debug.log 中找到):
13 silly fetchPackageMetaData error for buble@github:pemrouz/buble#fdcd2bac2c8945816b6fe3b032e49b58cc728b14 Command failed: C:\Program Files\Git\mingw64\bin\git.EXE checkout fdcd2bac2c8945816b6fe3b032e49b58cc728b14
13 silly fetchPackageMetaData fatal: reference is not a tree: fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack Error: Command failed: C:\Program Files\Git\mingw64\bin\git.EXE checkout fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack fatal: reference is not a tree: fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack
14 verbose stack at ChildProcess.exithandler (child_process.js:271:12)
14 verbose stack at emitTwo (events.js:125:13) …Run Code Online (Sandbox Code Playgroud) 使用gridfs-stream,查找和获取文件时如何指定bucket名称?
我的问题是在如何指定 GridFS 存储桶的stackoverflow 上找到的以下问题的后续问题
那里的解决方案提供了一个示例,说明如何在调用 createWriteStream 时指定存储桶。根据@vsivsi 提供的代码,我可以使用以下代码中的“root”选项将文件添加到我的自定义存储桶中:
// fyi, req.file has been populated using multer
var gfs = Grid(mongoose.connection.db);
var writeStream = gfs.createWriteStream({
filename: req.file.originalname,
mode: 'w',
content_type: req.file.mimetype,
root: 'private'
});
Run Code Online (Sandbox Code Playgroud)
这成功地将我的文件添加到 private.files 和 private.chunks。所以现在我想查找并阅读我上传的文件。我的 find() 不使用存储桶,如下所示:
var gfs = Grid(mongoose.connection.db);
gfs.find({
filename: req.params.filename
}).toArray(function(err, files){
// bunch of processing here...
});
Run Code Online (Sandbox Code Playgroud)
现在我如何知道要查询哪个存储桶/根?
我假设在调用 createReadStream() 时我将能够使用相同的“root”选项,但首先我需要找到它。有没有办法告诉 gridfs-stream 使用哪个存储桶/根?